/*
 * Copyright Codeplay Software Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use these files except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// DO NOT MODIFY BY HAND
// This file was automatically generated by generate_matmul_tests.py.
// Results calculated using Tensorflow v1.12.0.

#include <gtest/gtest.h>
#include <vector>

#include "test/matmul/fixture.h"
#include "test/types/kernel_data_types.h"
#include "test/types/to_gtest_types.h"

using DataTypeList = sycldnn::types::KernelDataTypes;
using GTestTypeList = sycldnn::types::ToGTestTypes<DataTypeList>::type;

template <typename DataType>
using MatmulBatch3Beta0TrueFalse = MatmulFixture<DataType, true, false>;
TYPED_TEST_SUITE(MatmulBatch3Beta0TrueFalse, GTestTypeList);
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      163086.,  164374.,  165662.,  166950.,  168238.,  169526.,  170814.,
      172102.,  173390.,  174678.,  175966.,  177254.,  178542.,  179830.,
      164374.,  165676.,  166978.,  168280.,  169582.,  170884.,  172186.,
      173488.,  174790.,  176092.,  177394.,  178696.,  179998.,  181300.,
      165662.,  166978.,  168294.,  169610.,  170926.,  172242.,  173558.,
      174874.,  176190.,  177506.,  178822.,  180138.,  181454.,  182770.,
      166950.,  168280.,  169610.,  170940.,  172270.,  173600.,  174930.,
      176260.,  177590.,  178920.,  180250.,  181580.,  182910.,  184240.,
      168238.,  169582.,  170926.,  172270.,  173614.,  174958.,  176302.,
      177646.,  178990.,  180334.,  181678.,  183022.,  184366.,  185710.,
      169526.,  170884.,  172242.,  173600.,  174958.,  176316.,  177674.,
      179032.,  180390.,  181748.,  183106.,  184464.,  185822.,  187180.,
      170814.,  172186.,  173558.,  174930.,  176302.,  177674.,  179046.,
      180418.,  181790.,  183162.,  184534.,  185906.,  187278.,  188650.,
      172102.,  173488.,  174874.,  176260.,  177646.,  179032.,  180418.,
      181804.,  183190.,  184576.,  185962.,  187348.,  188734.,  190120.,
      173390.,  174790.,  176190.,  177590.,  178990.,  180390.,  181790.,
      183190.,  184590.,  185990.,  187390.,  188790.,  190190.,  191590.,
      174678.,  176092.,  177506.,  178920.,  180334.,  181748.,  183162.,
      184576.,  185990.,  187404.,  188818.,  190232.,  191646.,  193060.,
      175966.,  177394.,  178822.,  180250.,  181678.,  183106.,  184534.,
      185962.,  187390.,  188818.,  190246.,  191674.,  193102.,  194530.,
      177254.,  178696.,  180138.,  181580.,  183022.,  184464.,  185906.,
      187348.,  188790.,  190232.,  191674.,  193116.,  194558.,  196000.,
      178542.,  179998.,  181454.,  182910.,  184366.,  185822.,  187278.,
      188734.,  190190.,  191646.,  193102.,  194558.,  196014.,  197470.,
      179830.,  181300.,  182770.,  184240.,  185710.,  187180.,  188650.,
      190120.,  191590.,  193060.,  194530.,  196000.,  197470.,  198940.,
      1205806., 1209838., 1213870., 1217902., 1221934., 1225966., 1229998.,
      1234030., 1238062., 1242094., 1246126., 1250158., 1254190., 1258222.,
      1209838., 1213884., 1217930., 1221976., 1226022., 1230068., 1234114.,
      1238160., 1242206., 1246252., 1250298., 1254344., 1258390., 1262436.,
      1213870., 1217930., 1221990., 1226050., 1230110., 1234170., 1238230.,
      1242290., 1246350., 1250410., 1254470., 1258530., 1262590., 1266650.,
      1217902., 1221976., 1226050., 1230124., 1234198., 1238272., 1242346.,
      1246420., 1250494., 1254568., 1258642., 1262716., 1266790., 1270864.,
      1221934., 1226022., 1230110., 1234198., 1238286., 1242374., 1246462.,
      1250550., 1254638., 1258726., 1262814., 1266902., 1270990., 1275078.,
      1225966., 1230068., 1234170., 1238272., 1242374., 1246476., 1250578.,
      1254680., 1258782., 1262884., 1266986., 1271088., 1275190., 1279292.,
      1229998., 1234114., 1238230., 1242346., 1246462., 1250578., 1254694.,
      1258810., 1262926., 1267042., 1271158., 1275274., 1279390., 1283506.,
      1234030., 1238160., 1242290., 1246420., 1250550., 1254680., 1258810.,
      1262940., 1267070., 1271200., 1275330., 1279460., 1283590., 1287720.,
      1238062., 1242206., 1246350., 1250494., 1254638., 1258782., 1262926.,
      1267070., 1271214., 1275358., 1279502., 1283646., 1287790., 1291934.,
      1242094., 1246252., 1250410., 1254568., 1258726., 1262884., 1267042.,
      1271200., 1275358., 1279516., 1283674., 1287832., 1291990., 1296148.,
      1246126., 1250298., 1254470., 1258642., 1262814., 1266986., 1271158.,
      1275330., 1279502., 1283674., 1287846., 1292018., 1296190., 1300362.,
      1250158., 1254344., 1258530., 1262716., 1266902., 1271088., 1275274.,
      1279460., 1283646., 1287832., 1292018., 1296204., 1300390., 1304576.,
      1254190., 1258390., 1262590., 1266790., 1270990., 1275190., 1279390.,
      1283590., 1287790., 1291990., 1296190., 1300390., 1304590., 1308790.,
      1258222., 1262436., 1266650., 1270864., 1275078., 1279292., 1283506.,
      1287720., 1291934., 1296148., 1300362., 1304576., 1308790., 1313004.,
      3324174., 3330950., 3337726., 3344502., 3351278., 3358054., 3364830.,
      3371606., 3378382., 3385158., 3391934., 3398710., 3405486., 3412262.,
      3330950., 3337740., 3344530., 3351320., 3358110., 3364900., 3371690.,
      3378480., 3385270., 3392060., 3398850., 3405640., 3412430., 3419220.,
      3337726., 3344530., 3351334., 3358138., 3364942., 3371746., 3378550.,
      3385354., 3392158., 3398962., 3405766., 3412570., 3419374., 3426178.,
      3344502., 3351320., 3358138., 3364956., 3371774., 3378592., 3385410.,
      3392228., 3399046., 3405864., 3412682., 3419500., 3426318., 3433136.,
      3351278., 3358110., 3364942., 3371774., 3378606., 3385438., 3392270.,
      3399102., 3405934., 3412766., 3419598., 3426430., 3433262., 3440094.,
      3358054., 3364900., 3371746., 3378592., 3385438., 3392284., 3399130.,
      3405976., 3412822., 3419668., 3426514., 3433360., 3440206., 3447052.,
      3364830., 3371690., 3378550., 3385410., 3392270., 3399130., 3405990.,
      3412850., 3419710., 3426570., 3433430., 3440290., 3447150., 3454010.,
      3371606., 3378480., 3385354., 3392228., 3399102., 3405976., 3412850.,
      3419724., 3426598., 3433472., 3440346., 3447220., 3454094., 3460968.,
      3378382., 3385270., 3392158., 3399046., 3405934., 3412822., 3419710.,
      3426598., 3433486., 3440374., 3447262., 3454150., 3461038., 3467926.,
      3385158., 3392060., 3398962., 3405864., 3412766., 3419668., 3426570.,
      3433472., 3440374., 3447276., 3454178., 3461080., 3467982., 3474884.,
      3391934., 3398850., 3405766., 3412682., 3419598., 3426514., 3433430.,
      3440346., 3447262., 3454178., 3461094., 3468010., 3474926., 3481842.,
      3398710., 3405640., 3412570., 3419500., 3426430., 3433360., 3440290.,
      3447220., 3454150., 3461080., 3468010., 3474940., 3481870., 3488800.,
      3405486., 3412430., 3419374., 3426318., 3433262., 3440206., 3447150.,
      3454094., 3461038., 3467982., 3474926., 3481870., 3488814., 3495758.,
      3412262., 3419220., 3426178., 3433136., 3440094., 3447052., 3454010.,
      3460968., 3467926., 3474884., 3481842., 3488800., 3495758., 3502716.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      174643.,  175931.,  177219.,  178507.,  179795.,  181083.,  182371.,
      183659.,  184947.,  186235.,  187523.,  188811.,  190099.,  191387.,
      192675.,  176022.,  177324.,  178626.,  179928.,  181230.,  182532.,
      183834.,  185136.,  186438.,  187740.,  189042.,  190344.,  191646.,
      192948.,  194250.,  177401.,  178717.,  180033.,  181349.,  182665.,
      183981.,  185297.,  186613.,  187929.,  189245.,  190561.,  191877.,
      193193.,  194509.,  195825.,  178780.,  180110.,  181440.,  182770.,
      184100.,  185430.,  186760.,  188090.,  189420.,  190750.,  192080.,
      193410.,  194740.,  196070.,  197400.,  180159.,  181503.,  182847.,
      184191.,  185535.,  186879.,  188223.,  189567.,  190911.,  192255.,
      193599.,  194943.,  196287.,  197631.,  198975.,  181538.,  182896.,
      184254.,  185612.,  186970.,  188328.,  189686.,  191044.,  192402.,
      193760.,  195118.,  196476.,  197834.,  199192.,  200550.,  182917.,
      184289.,  185661.,  187033.,  188405.,  189777.,  191149.,  192521.,
      193893.,  195265.,  196637.,  198009.,  199381.,  200753.,  202125.,
      184296.,  185682.,  187068.,  188454.,  189840.,  191226.,  192612.,
      193998.,  195384.,  196770.,  198156.,  199542.,  200928.,  202314.,
      203700.,  185675.,  187075.,  188475.,  189875.,  191275.,  192675.,
      194075.,  195475.,  196875.,  198275.,  199675.,  201075.,  202475.,
      203875.,  205275.,  187054.,  188468.,  189882.,  191296.,  192710.,
      194124.,  195538.,  196952.,  198366.,  199780.,  201194.,  202608.,
      204022.,  205436.,  206850.,  188433.,  189861.,  191289.,  192717.,
      194145.,  195573.,  197001.,  198429.,  199857.,  201285.,  202713.,
      204141.,  205569.,  206997.,  208425.,  189812.,  191254.,  192696.,
      194138.,  195580.,  197022.,  198464.,  199906.,  201348.,  202790.,
      204232.,  205674.,  207116.,  208558.,  210000.,  191191.,  192647.,
      194103.,  195559.,  197015.,  198471.,  199927.,  201383.,  202839.,
      204295.,  205751.,  207207.,  208663.,  210119.,  211575.,  192570.,
      194040.,  195510.,  196980.,  198450.,  199920.,  201390.,  202860.,
      204330.,  205800.,  207270.,  208740.,  210210.,  211680.,  213150.,
      1291647., 1295679., 1299711., 1303743., 1307775., 1311807., 1315839.,
      1319871., 1323903., 1327935., 1331967., 1335999., 1340031., 1344063.,
      1348095., 1295966., 1300012., 1304058., 1308104., 1312150., 1316196.,
      1320242., 1324288., 1328334., 1332380., 1336426., 1340472., 1344518.,
      1348564., 1352610., 1300285., 1304345., 1308405., 1312465., 1316525.,
      1320585., 1324645., 1328705., 1332765., 1336825., 1340885., 1344945.,
      1349005., 1353065., 1357125., 1304604., 1308678., 1312752., 1316826.,
      1320900., 1324974., 1329048., 1333122., 1337196., 1341270., 1345344.,
      1349418., 1353492., 1357566., 1361640., 1308923., 1313011., 1317099.,
      1321187., 1325275., 1329363., 1333451., 1337539., 1341627., 1345715.,
      1349803., 1353891., 1357979., 1362067., 1366155., 1313242., 1317344.,
      1321446., 1325548., 1329650., 1333752., 1337854., 1341956., 1346058.,
      1350160., 1354262., 1358364., 1362466., 1366568., 1370670., 1317561.,
      1321677., 1325793., 1329909., 1334025., 1338141., 1342257., 1346373.,
      1350489., 1354605., 1358721., 1362837., 1366953., 1371069., 1375185.,
      1321880., 1326010., 1330140., 1334270., 1338400., 1342530., 1346660.,
      1350790., 1354920., 1359050., 1363180., 1367310., 1371440., 1375570.,
      1379700., 1326199., 1330343., 1334487., 1338631., 1342775., 1346919.,
      1351063., 1355207., 1359351., 1363495., 1367639., 1371783., 1375927.,
      1380071., 1384215., 1330518., 1334676., 1338834., 1342992., 1347150.,
      1351308., 1355466., 1359624., 1363782., 1367940., 1372098., 1376256.,
      1380414., 1384572., 1388730., 1334837., 1339009., 1343181., 1347353.,
      1351525., 1355697., 1359869., 1364041., 1368213., 1372385., 1376557.,
      1380729., 1384901., 1389073., 1393245., 1339156., 1343342., 1347528.,
      1351714., 1355900., 1360086., 1364272., 1368458., 1372644., 1376830.,
      1381016., 1385202., 1389388., 1393574., 1397760., 1343475., 1347675.,
      1351875., 1356075., 1360275., 1364475., 1368675., 1372875., 1377075.,
      1381275., 1385475., 1389675., 1393875., 1398075., 1402275., 1347794.,
      1352008., 1356222., 1360436., 1364650., 1368864., 1373078., 1377292.,
      1381506., 1385720., 1389934., 1394148., 1398362., 1402576., 1406790.,
      3561131., 3567907., 3574683., 3581459., 3588235., 3595011., 3601787.,
      3608563., 3615339., 3622115., 3628891., 3635667., 3642443., 3649219.,
      3655995., 3568390., 3575180., 3581970., 3588760., 3595550., 3602340.,
      3609130., 3615920., 3622710., 3629500., 3636290., 3643080., 3649870.,
      3656660., 3663450., 3575649., 3582453., 3589257., 3596061., 3602865.,
      3609669., 3616473., 3623277., 3630081., 3636885., 3643689., 3650493.,
      3657297., 3664101., 3670905., 3582908., 3589726., 3596544., 3603362.,
      3610180., 3616998., 3623816., 3630634., 3637452., 3644270., 3651088.,
      3657906., 3664724., 3671542., 3678360., 3590167., 3596999., 3603831.,
      3610663., 3617495., 3624327., 3631159., 3637991., 3644823., 3651655.,
      3658487., 3665319., 3672151., 3678983., 3685815., 3597426., 3604272.,
      3611118., 3617964., 3624810., 3631656., 3638502., 3645348., 3652194.,
      3659040., 3665886., 3672732., 3679578., 3686424., 3693270., 3604685.,
      3611545., 3618405., 3625265., 3632125., 3638985., 3645845., 3652705.,
      3659565., 3666425., 3673285., 3680145., 3687005., 3693865., 3700725.,
      3611944., 3618818., 3625692., 3632566., 3639440., 3646314., 3653188.,
      3660062., 3666936., 3673810., 3680684., 3687558., 3694432., 3701306.,
      3708180., 3619203., 3626091., 3632979., 3639867., 3646755., 3653643.,
      3660531., 3667419., 3674307., 3681195., 3688083., 3694971., 3701859.,
      3708747., 3715635., 3626462., 3633364., 3640266., 3647168., 3654070.,
      3660972., 3667874., 3674776., 3681678., 3688580., 3695482., 3702384.,
      3709286., 3716188., 3723090., 3633721., 3640637., 3647553., 3654469.,
      3661385., 3668301., 3675217., 3682133., 3689049., 3695965., 3702881.,
      3709797., 3716713., 3723629., 3730545., 3640980., 3647910., 3654840.,
      3661770., 3668700., 3675630., 3682560., 3689490., 3696420., 3703350.,
      3710280., 3717210., 3724140., 3731070., 3738000., 3648239., 3655183.,
      3662127., 3669071., 3676015., 3682959., 3689903., 3696847., 3703791.,
      3710735., 3717679., 3724623., 3731567., 3738511., 3745455., 3655498.,
      3662456., 3669414., 3676372., 3683330., 3690288., 3697246., 3704204.,
      3711162., 3718120., 3725078., 3732036., 3738994., 3745952., 3752910.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      186200.,  187488.,  188776.,  190064.,  191352.,  192640.,  193928.,
      195216.,  196504.,  197792.,  199080.,  200368.,  201656.,  202944.,
      204232.,  205520.,  187670.,  188972.,  190274.,  191576.,  192878.,
      194180.,  195482.,  196784.,  198086.,  199388.,  200690.,  201992.,
      203294.,  204596.,  205898.,  207200.,  189140.,  190456.,  191772.,
      193088.,  194404.,  195720.,  197036.,  198352.,  199668.,  200984.,
      202300.,  203616.,  204932.,  206248.,  207564.,  208880.,  190610.,
      191940.,  193270.,  194600.,  195930.,  197260.,  198590.,  199920.,
      201250.,  202580.,  203910.,  205240.,  206570.,  207900.,  209230.,
      210560.,  192080.,  193424.,  194768.,  196112.,  197456.,  198800.,
      200144.,  201488.,  202832.,  204176.,  205520.,  206864.,  208208.,
      209552.,  210896.,  212240.,  193550.,  194908.,  196266.,  197624.,
      198982.,  200340.,  201698.,  203056.,  204414.,  205772.,  207130.,
      208488.,  209846.,  211204.,  212562.,  213920.,  195020.,  196392.,
      197764.,  199136.,  200508.,  201880.,  203252.,  204624.,  205996.,
      207368.,  208740.,  210112.,  211484.,  212856.,  214228.,  215600.,
      196490.,  197876.,  199262.,  200648.,  202034.,  203420.,  204806.,
      206192.,  207578.,  208964.,  210350.,  211736.,  213122.,  214508.,
      215894.,  217280.,  197960.,  199360.,  200760.,  202160.,  203560.,
      204960.,  206360.,  207760.,  209160.,  210560.,  211960.,  213360.,
      214760.,  216160.,  217560.,  218960.,  199430.,  200844.,  202258.,
      203672.,  205086.,  206500.,  207914.,  209328.,  210742.,  212156.,
      213570.,  214984.,  216398.,  217812.,  219226.,  220640.,  200900.,
      202328.,  203756.,  205184.,  206612.,  208040.,  209468.,  210896.,
      212324.,  213752.,  215180.,  216608.,  218036.,  219464.,  220892.,
      222320.,  202370.,  203812.,  205254.,  206696.,  208138.,  209580.,
      211022.,  212464.,  213906.,  215348.,  216790.,  218232.,  219674.,
      221116.,  222558.,  224000.,  203840.,  205296.,  206752.,  208208.,
      209664.,  211120.,  212576.,  214032.,  215488.,  216944.,  218400.,
      219856.,  221312.,  222768.,  224224.,  225680.,  205310.,  206780.,
      208250.,  209720.,  211190.,  212660.,  214130.,  215600.,  217070.,
      218540.,  220010.,  221480.,  222950.,  224420.,  225890.,  227360.,
      1377488., 1381520., 1385552., 1389584., 1393616., 1397648., 1401680.,
      1405712., 1409744., 1413776., 1417808., 1421840., 1425872., 1429904.,
      1433936., 1437968., 1382094., 1386140., 1390186., 1394232., 1398278.,
      1402324., 1406370., 1410416., 1414462., 1418508., 1422554., 1426600.,
      1430646., 1434692., 1438738., 1442784., 1386700., 1390760., 1394820.,
      1398880., 1402940., 1407000., 1411060., 1415120., 1419180., 1423240.,
      1427300., 1431360., 1435420., 1439480., 1443540., 1447600., 1391306.,
      1395380., 1399454., 1403528., 1407602., 1411676., 1415750., 1419824.,
      1423898., 1427972., 1432046., 1436120., 1440194., 1444268., 1448342.,
      1452416., 1395912., 1400000., 1404088., 1408176., 1412264., 1416352.,
      1420440., 1424528., 1428616., 1432704., 1436792., 1440880., 1444968.,
      1449056., 1453144., 1457232., 1400518., 1404620., 1408722., 1412824.,
      1416926., 1421028., 1425130., 1429232., 1433334., 1437436., 1441538.,
      1445640., 1449742., 1453844., 1457946., 1462048., 1405124., 1409240.,
      1413356., 1417472., 1421588., 1425704., 1429820., 1433936., 1438052.,
      1442168., 1446284., 1450400., 1454516., 1458632., 1462748., 1466864.,
      1409730., 1413860., 1417990., 1422120., 1426250., 1430380., 1434510.,
      1438640., 1442770., 1446900., 1451030., 1455160., 1459290., 1463420.,
      1467550., 1471680., 1414336., 1418480., 1422624., 1426768., 1430912.,
      1435056., 1439200., 1443344., 1447488., 1451632., 1455776., 1459920.,
      1464064., 1468208., 1472352., 1476496., 1418942., 1423100., 1427258.,
      1431416., 1435574., 1439732., 1443890., 1448048., 1452206., 1456364.,
      1460522., 1464680., 1468838., 1472996., 1477154., 1481312., 1423548.,
      1427720., 1431892., 1436064., 1440236., 1444408., 1448580., 1452752.,
      1456924., 1461096., 1465268., 1469440., 1473612., 1477784., 1481956.,
      1486128., 1428154., 1432340., 1436526., 1440712., 1444898., 1449084.,
      1453270., 1457456., 1461642., 1465828., 1470014., 1474200., 1478386.,
      1482572., 1486758., 1490944., 1432760., 1436960., 1441160., 1445360.,
      1449560., 1453760., 1457960., 1462160., 1466360., 1470560., 1474760.,
      1478960., 1483160., 1487360., 1491560., 1495760., 1437366., 1441580.,
      1445794., 1450008., 1454222., 1458436., 1462650., 1466864., 1471078.,
      1475292., 1479506., 1483720., 1487934., 1492148., 1496362., 1500576.,
      3798088., 3804864., 3811640., 3818416., 3825192., 3831968., 3838744.,
      3845520., 3852296., 3859072., 3865848., 3872624., 3879400., 3886176.,
      3892952., 3899728., 3805830., 3812620., 3819410., 3826200., 3832990.,
      3839780., 3846570., 3853360., 3860150., 3866940., 3873730., 3880520.,
      3887310., 3894100., 3900890., 3907680., 3813572., 3820376., 3827180.,
      3833984., 3840788., 3847592., 3854396., 3861200., 3868004., 3874808.,
      3881612., 3888416., 3895220., 3902024., 3908828., 3915632., 3821314.,
      3828132., 3834950., 3841768., 3848586., 3855404., 3862222., 3869040.,
      3875858., 3882676., 3889494., 3896312., 3903130., 3909948., 3916766.,
      3923584., 3829056., 3835888., 3842720., 3849552., 3856384., 3863216.,
      3870048., 3876880., 3883712., 3890544., 3897376., 3904208., 3911040.,
      3917872., 3924704., 3931536., 3836798., 3843644., 3850490., 3857336.,
      3864182., 3871028., 3877874., 3884720., 3891566., 3898412., 3905258.,
      3912104., 3918950., 3925796., 3932642., 3939488., 3844540., 3851400.,
      3858260., 3865120., 3871980., 3878840., 3885700., 3892560., 3899420.,
      3906280., 3913140., 3920000., 3926860., 3933720., 3940580., 3947440.,
      3852282., 3859156., 3866030., 3872904., 3879778., 3886652., 3893526.,
      3900400., 3907274., 3914148., 3921022., 3927896., 3934770., 3941644.,
      3948518., 3955392., 3860024., 3866912., 3873800., 3880688., 3887576.,
      3894464., 3901352., 3908240., 3915128., 3922016., 3928904., 3935792.,
      3942680., 3949568., 3956456., 3963344., 3867766., 3874668., 3881570.,
      3888472., 3895374., 3902276., 3909178., 3916080., 3922982., 3929884.,
      3936786., 3943688., 3950590., 3957492., 3964394., 3971296., 3875508.,
      3882424., 3889340., 3896256., 3903172., 3910088., 3917004., 3923920.,
      3930836., 3937752., 3944668., 3951584., 3958500., 3965416., 3972332.,
      3979248., 3883250., 3890180., 3897110., 3904040., 3910970., 3917900.,
      3924830., 3931760., 3938690., 3945620., 3952550., 3959480., 3966410.,
      3973340., 3980270., 3987200., 3890992., 3897936., 3904880., 3911824.,
      3918768., 3925712., 3932656., 3939600., 3946544., 3953488., 3960432.,
      3967376., 3974320., 3981264., 3988208., 3995152., 3898734., 3905692.,
      3912650., 3919608., 3926566., 3933524., 3940482., 3947440., 3954398.,
      3961356., 3968314., 3975272., 3982230., 3989188., 3996146., 4003104.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      201895.,  203380.,  204865.,  206350.,  207835.,  209320.,  210805.,
      212290.,  213775.,  215260.,  216745.,  218230.,  219715.,  221200.,
      203380.,  204880.,  206380.,  207880.,  209380.,  210880.,  212380.,
      213880.,  215380.,  216880.,  218380.,  219880.,  221380.,  222880.,
      204865.,  206380.,  207895.,  209410.,  210925.,  212440.,  213955.,
      215470.,  216985.,  218500.,  220015.,  221530.,  223045.,  224560.,
      206350.,  207880.,  209410.,  210940.,  212470.,  214000.,  215530.,
      217060.,  218590.,  220120.,  221650.,  223180.,  224710.,  226240.,
      207835.,  209380.,  210925.,  212470.,  214015.,  215560.,  217105.,
      218650.,  220195.,  221740.,  223285.,  224830.,  226375.,  227920.,
      209320.,  210880.,  212440.,  214000.,  215560.,  217120.,  218680.,
      220240.,  221800.,  223360.,  224920.,  226480.,  228040.,  229600.,
      210805.,  212380.,  213955.,  215530.,  217105.,  218680.,  220255.,
      221830.,  223405.,  224980.,  226555.,  228130.,  229705.,  231280.,
      212290.,  213880.,  215470.,  217060.,  218650.,  220240.,  221830.,
      223420.,  225010.,  226600.,  228190.,  229780.,  231370.,  232960.,
      213775.,  215380.,  216985.,  218590.,  220195.,  221800.,  223405.,
      225010.,  226615.,  228220.,  229825.,  231430.,  233035.,  234640.,
      215260.,  216880.,  218500.,  220120.,  221740.,  223360.,  224980.,
      226600.,  228220.,  229840.,  231460.,  233080.,  234700.,  236320.,
      216745.,  218380.,  220015.,  221650.,  223285.,  224920.,  226555.,
      228190.,  229825.,  231460.,  233095.,  234730.,  236365.,  238000.,
      218230.,  219880.,  221530.,  223180.,  224830.,  226480.,  228130.,
      229780.,  231430.,  233080.,  234730.,  236380.,  238030.,  239680.,
      219715.,  221380.,  223045.,  224710.,  226375.,  228040.,  229705.,
      231370.,  233035.,  234700.,  236365.,  238030.,  239695.,  241360.,
      221200.,  222880.,  224560.,  226240.,  227920.,  229600.,  231280.,
      232960.,  234640.,  236320.,  238000.,  239680.,  241360.,  243040.,
      1487095., 1491730., 1496365., 1501000., 1505635., 1510270., 1514905.,
      1519540., 1524175., 1528810., 1533445., 1538080., 1542715., 1547350.,
      1491730., 1496380., 1501030., 1505680., 1510330., 1514980., 1519630.,
      1524280., 1528930., 1533580., 1538230., 1542880., 1547530., 1552180.,
      1496365., 1501030., 1505695., 1510360., 1515025., 1519690., 1524355.,
      1529020., 1533685., 1538350., 1543015., 1547680., 1552345., 1557010.,
      1501000., 1505680., 1510360., 1515040., 1519720., 1524400., 1529080.,
      1533760., 1538440., 1543120., 1547800., 1552480., 1557160., 1561840.,
      1505635., 1510330., 1515025., 1519720., 1524415., 1529110., 1533805.,
      1538500., 1543195., 1547890., 1552585., 1557280., 1561975., 1566670.,
      1510270., 1514980., 1519690., 1524400., 1529110., 1533820., 1538530.,
      1543240., 1547950., 1552660., 1557370., 1562080., 1566790., 1571500.,
      1514905., 1519630., 1524355., 1529080., 1533805., 1538530., 1543255.,
      1547980., 1552705., 1557430., 1562155., 1566880., 1571605., 1576330.,
      1519540., 1524280., 1529020., 1533760., 1538500., 1543240., 1547980.,
      1552720., 1557460., 1562200., 1566940., 1571680., 1576420., 1581160.,
      1524175., 1528930., 1533685., 1538440., 1543195., 1547950., 1552705.,
      1557460., 1562215., 1566970., 1571725., 1576480., 1581235., 1585990.,
      1528810., 1533580., 1538350., 1543120., 1547890., 1552660., 1557430.,
      1562200., 1566970., 1571740., 1576510., 1581280., 1586050., 1590820.,
      1533445., 1538230., 1543015., 1547800., 1552585., 1557370., 1562155.,
      1566940., 1571725., 1576510., 1581295., 1586080., 1590865., 1595650.,
      1538080., 1542880., 1547680., 1552480., 1557280., 1562080., 1566880.,
      1571680., 1576480., 1581280., 1586080., 1590880., 1595680., 1600480.,
      1542715., 1547530., 1552345., 1557160., 1561975., 1566790., 1571605.,
      1576420., 1581235., 1586050., 1590865., 1595680., 1600495., 1605310.,
      1547350., 1552180., 1557010., 1561840., 1566670., 1571500., 1576330.,
      1581160., 1585990., 1590820., 1595650., 1600480., 1605310., 1610140.,
      4095295., 4103080., 4110865., 4118650., 4126435., 4134220., 4142005.,
      4149790., 4157575., 4165360., 4173145., 4180930., 4188715., 4196500.,
      4103080., 4110880., 4118680., 4126480., 4134280., 4142080., 4149880.,
      4157680., 4165480., 4173280., 4181080., 4188880., 4196680., 4204480.,
      4110865., 4118680., 4126495., 4134310., 4142125., 4149940., 4157755.,
      4165570., 4173385., 4181200., 4189015., 4196830., 4204645., 4212460.,
      4118650., 4126480., 4134310., 4142140., 4149970., 4157800., 4165630.,
      4173460., 4181290., 4189120., 4196950., 4204780., 4212610., 4220440.,
      4126435., 4134280., 4142125., 4149970., 4157815., 4165660., 4173505.,
      4181350., 4189195., 4197040., 4204885., 4212730., 4220575., 4228420.,
      4134220., 4142080., 4149940., 4157800., 4165660., 4173520., 4181380.,
      4189240., 4197100., 4204960., 4212820., 4220680., 4228540., 4236400.,
      4142005., 4149880., 4157755., 4165630., 4173505., 4181380., 4189255.,
      4197130., 4205005., 4212880., 4220755., 4228630., 4236505., 4244380.,
      4149790., 4157680., 4165570., 4173460., 4181350., 4189240., 4197130.,
      4205020., 4212910., 4220800., 4228690., 4236580., 4244470., 4252360.,
      4157575., 4165480., 4173385., 4181290., 4189195., 4197100., 4205005.,
      4212910., 4220815., 4228720., 4236625., 4244530., 4252435., 4260340.,
      4165360., 4173280., 4181200., 4189120., 4197040., 4204960., 4212880.,
      4220800., 4228720., 4236640., 4244560., 4252480., 4260400., 4268320.,
      4173145., 4181080., 4189015., 4196950., 4204885., 4212820., 4220755.,
      4228690., 4236625., 4244560., 4252495., 4260430., 4268365., 4276300.,
      4180930., 4188880., 4196830., 4204780., 4212730., 4220680., 4228630.,
      4236580., 4244530., 4252480., 4260430., 4268380., 4276330., 4284280.,
      4188715., 4196680., 4204645., 4212610., 4220575., 4228540., 4236505.,
      4244470., 4252435., 4260400., 4268365., 4276330., 4284295., 4292260.,
      4196500., 4204480., 4212460., 4220440., 4228420., 4236400., 4244380.,
      4252360., 4260340., 4268320., 4276300., 4284280., 4292260., 4300240.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      216210.,  217695.,  219180.,  220665.,  222150.,  223635.,  225120.,
      226605.,  228090.,  229575.,  231060.,  232545.,  234030.,  235515.,
      237000.,  217800.,  219300.,  220800.,  222300.,  223800.,  225300.,
      226800.,  228300.,  229800.,  231300.,  232800.,  234300.,  235800.,
      237300.,  238800.,  219390.,  220905.,  222420.,  223935.,  225450.,
      226965.,  228480.,  229995.,  231510.,  233025.,  234540.,  236055.,
      237570.,  239085.,  240600.,  220980.,  222510.,  224040.,  225570.,
      227100.,  228630.,  230160.,  231690.,  233220.,  234750.,  236280.,
      237810.,  239340.,  240870.,  242400.,  222570.,  224115.,  225660.,
      227205.,  228750.,  230295.,  231840.,  233385.,  234930.,  236475.,
      238020.,  239565.,  241110.,  242655.,  244200.,  224160.,  225720.,
      227280.,  228840.,  230400.,  231960.,  233520.,  235080.,  236640.,
      238200.,  239760.,  241320.,  242880.,  244440.,  246000.,  225750.,
      227325.,  228900.,  230475.,  232050.,  233625.,  235200.,  236775.,
      238350.,  239925.,  241500.,  243075.,  244650.,  246225.,  247800.,
      227340.,  228930.,  230520.,  232110.,  233700.,  235290.,  236880.,
      238470.,  240060.,  241650.,  243240.,  244830.,  246420.,  248010.,
      249600.,  228930.,  230535.,  232140.,  233745.,  235350.,  236955.,
      238560.,  240165.,  241770.,  243375.,  244980.,  246585.,  248190.,
      249795.,  251400.,  230520.,  232140.,  233760.,  235380.,  237000.,
      238620.,  240240.,  241860.,  243480.,  245100.,  246720.,  248340.,
      249960.,  251580.,  253200.,  232110.,  233745.,  235380.,  237015.,
      238650.,  240285.,  241920.,  243555.,  245190.,  246825.,  248460.,
      250095.,  251730.,  253365.,  255000.,  233700.,  235350.,  237000.,
      238650.,  240300.,  241950.,  243600.,  245250.,  246900.,  248550.,
      250200.,  251850.,  253500.,  255150.,  256800.,  235290.,  236955.,
      238620.,  240285.,  241950.,  243615.,  245280.,  246945.,  248610.,
      250275.,  251940.,  253605.,  255270.,  256935.,  258600.,  236880.,
      238560.,  240240.,  241920.,  243600.,  245280.,  246960.,  248640.,
      250320.,  252000.,  253680.,  255360.,  257040.,  258720.,  260400.,
      1592985., 1597620., 1602255., 1606890., 1611525., 1616160., 1620795.,
      1625430., 1630065., 1634700., 1639335., 1643970., 1648605., 1653240.,
      1657875., 1597950., 1602600., 1607250., 1611900., 1616550., 1621200.,
      1625850., 1630500., 1635150., 1639800., 1644450., 1649100., 1653750.,
      1658400., 1663050., 1602915., 1607580., 1612245., 1616910., 1621575.,
      1626240., 1630905., 1635570., 1640235., 1644900., 1649565., 1654230.,
      1658895., 1663560., 1668225., 1607880., 1612560., 1617240., 1621920.,
      1626600., 1631280., 1635960., 1640640., 1645320., 1650000., 1654680.,
      1659360., 1664040., 1668720., 1673400., 1612845., 1617540., 1622235.,
      1626930., 1631625., 1636320., 1641015., 1645710., 1650405., 1655100.,
      1659795., 1664490., 1669185., 1673880., 1678575., 1617810., 1622520.,
      1627230., 1631940., 1636650., 1641360., 1646070., 1650780., 1655490.,
      1660200., 1664910., 1669620., 1674330., 1679040., 1683750., 1622775.,
      1627500., 1632225., 1636950., 1641675., 1646400., 1651125., 1655850.,
      1660575., 1665300., 1670025., 1674750., 1679475., 1684200., 1688925.,
      1627740., 1632480., 1637220., 1641960., 1646700., 1651440., 1656180.,
      1660920., 1665660., 1670400., 1675140., 1679880., 1684620., 1689360.,
      1694100., 1632705., 1637460., 1642215., 1646970., 1651725., 1656480.,
      1661235., 1665990., 1670745., 1675500., 1680255., 1685010., 1689765.,
      1694520., 1699275., 1637670., 1642440., 1647210., 1651980., 1656750.,
      1661520., 1666290., 1671060., 1675830., 1680600., 1685370., 1690140.,
      1694910., 1699680., 1704450., 1642635., 1647420., 1652205., 1656990.,
      1661775., 1666560., 1671345., 1676130., 1680915., 1685700., 1690485.,
      1695270., 1700055., 1704840., 1709625., 1647600., 1652400., 1657200.,
      1662000., 1666800., 1671600., 1676400., 1681200., 1686000., 1690800.,
      1695600., 1700400., 1705200., 1710000., 1714800., 1652565., 1657380.,
      1662195., 1667010., 1671825., 1676640., 1681455., 1686270., 1691085.,
      1695900., 1700715., 1705530., 1710345., 1715160., 1719975., 1657530.,
      1662360., 1667190., 1672020., 1676850., 1681680., 1686510., 1691340.,
      1696170., 1701000., 1705830., 1710660., 1715490., 1720320., 1725150.,
      4387260., 4395045., 4402830., 4410615., 4418400., 4426185., 4433970.,
      4441755., 4449540., 4457325., 4465110., 4472895., 4480680., 4488465.,
      4496250., 4395600., 4403400., 4411200., 4419000., 4426800., 4434600.,
      4442400., 4450200., 4458000., 4465800., 4473600., 4481400., 4489200.,
      4497000., 4504800., 4403940., 4411755., 4419570., 4427385., 4435200.,
      4443015., 4450830., 4458645., 4466460., 4474275., 4482090., 4489905.,
      4497720., 4505535., 4513350., 4412280., 4420110., 4427940., 4435770.,
      4443600., 4451430., 4459260., 4467090., 4474920., 4482750., 4490580.,
      4498410., 4506240., 4514070., 4521900., 4420620., 4428465., 4436310.,
      4444155., 4452000., 4459845., 4467690., 4475535., 4483380., 4491225.,
      4499070., 4506915., 4514760., 4522605., 4530450., 4428960., 4436820.,
      4444680., 4452540., 4460400., 4468260., 4476120., 4483980., 4491840.,
      4499700., 4507560., 4515420., 4523280., 4531140., 4539000., 4437300.,
      4445175., 4453050., 4460925., 4468800., 4476675., 4484550., 4492425.,
      4500300., 4508175., 4516050., 4523925., 4531800., 4539675., 4547550.,
      4445640., 4453530., 4461420., 4469310., 4477200., 4485090., 4492980.,
      4500870., 4508760., 4516650., 4524540., 4532430., 4540320., 4548210.,
      4556100., 4453980., 4461885., 4469790., 4477695., 4485600., 4493505.,
      4501410., 4509315., 4517220., 4525125., 4533030., 4540935., 4548840.,
      4556745., 4564650., 4462320., 4470240., 4478160., 4486080., 4494000.,
      4501920., 4509840., 4517760., 4525680., 4533600., 4541520., 4549440.,
      4557360., 4565280., 4573200., 4470660., 4478595., 4486530., 4494465.,
      4502400., 4510335., 4518270., 4526205., 4534140., 4542075., 4550010.,
      4557945., 4565880., 4573815., 4581750., 4479000., 4486950., 4494900.,
      4502850., 4510800., 4518750., 4526700., 4534650., 4542600., 4550550.,
      4558500., 4566450., 4574400., 4582350., 4590300., 4487340., 4495305.,
      4503270., 4511235., 4519200., 4527165., 4535130., 4543095., 4551060.,
      4559025., 4566990., 4574955., 4582920., 4590885., 4598850., 4495680.,
      4503660., 4511640., 4519620., 4527600., 4535580., 4543560., 4551540.,
      4559520., 4567500., 4575480., 4583460., 4591440., 4599420., 4607400.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      230525.,  232010.,  233495.,  234980.,  236465.,  237950.,  239435.,
      240920.,  242405.,  243890.,  245375.,  246860.,  248345.,  249830.,
      251315.,  252800.,  232220.,  233720.,  235220.,  236720.,  238220.,
      239720.,  241220.,  242720.,  244220.,  245720.,  247220.,  248720.,
      250220.,  251720.,  253220.,  254720.,  233915.,  235430.,  236945.,
      238460.,  239975.,  241490.,  243005.,  244520.,  246035.,  247550.,
      249065.,  250580.,  252095.,  253610.,  255125.,  256640.,  235610.,
      237140.,  238670.,  240200.,  241730.,  243260.,  244790.,  246320.,
      247850.,  249380.,  250910.,  252440.,  253970.,  255500.,  257030.,
      258560.,  237305.,  238850.,  240395.,  241940.,  243485.,  245030.,
      246575.,  248120.,  249665.,  251210.,  252755.,  254300.,  255845.,
      257390.,  258935.,  260480.,  239000.,  240560.,  242120.,  243680.,
      245240.,  246800.,  248360.,  249920.,  251480.,  253040.,  254600.,
      256160.,  257720.,  259280.,  260840.,  262400.,  240695.,  242270.,
      243845.,  245420.,  246995.,  248570.,  250145.,  251720.,  253295.,
      254870.,  256445.,  258020.,  259595.,  261170.,  262745.,  264320.,
      242390.,  243980.,  245570.,  247160.,  248750.,  250340.,  251930.,
      253520.,  255110.,  256700.,  258290.,  259880.,  261470.,  263060.,
      264650.,  266240.,  244085.,  245690.,  247295.,  248900.,  250505.,
      252110.,  253715.,  255320.,  256925.,  258530.,  260135.,  261740.,
      263345.,  264950.,  266555.,  268160.,  245780.,  247400.,  249020.,
      250640.,  252260.,  253880.,  255500.,  257120.,  258740.,  260360.,
      261980.,  263600.,  265220.,  266840.,  268460.,  270080.,  247475.,
      249110.,  250745.,  252380.,  254015.,  255650.,  257285.,  258920.,
      260555.,  262190.,  263825.,  265460.,  267095.,  268730.,  270365.,
      272000.,  249170.,  250820.,  252470.,  254120.,  255770.,  257420.,
      259070.,  260720.,  262370.,  264020.,  265670.,  267320.,  268970.,
      270620.,  272270.,  273920.,  250865.,  252530.,  254195.,  255860.,
      257525.,  259190.,  260855.,  262520.,  264185.,  265850.,  267515.,
      269180.,  270845.,  272510.,  274175.,  275840.,  252560.,  254240.,
      255920.,  257600.,  259280.,  260960.,  262640.,  264320.,  266000.,
      267680.,  269360.,  271040.,  272720.,  274400.,  276080.,  277760.,
      1698875., 1703510., 1708145., 1712780., 1717415., 1722050., 1726685.,
      1731320., 1735955., 1740590., 1745225., 1749860., 1754495., 1759130.,
      1763765., 1768400., 1704170., 1708820., 1713470., 1718120., 1722770.,
      1727420., 1732070., 1736720., 1741370., 1746020., 1750670., 1755320.,
      1759970., 1764620., 1769270., 1773920., 1709465., 1714130., 1718795.,
      1723460., 1728125., 1732790., 1737455., 1742120., 1746785., 1751450.,
      1756115., 1760780., 1765445., 1770110., 1774775., 1779440., 1714760.,
      1719440., 1724120., 1728800., 1733480., 1738160., 1742840., 1747520.,
      1752200., 1756880., 1761560., 1766240., 1770920., 1775600., 1780280.,
      1784960., 1720055., 1724750., 1729445., 1734140., 1738835., 1743530.,
      1748225., 1752920., 1757615., 1762310., 1767005., 1771700., 1776395.,
      1781090., 1785785., 1790480., 1725350., 1730060., 1734770., 1739480.,
      1744190., 1748900., 1753610., 1758320., 1763030., 1767740., 1772450.,
      1777160., 1781870., 1786580., 1791290., 1796000., 1730645., 1735370.,
      1740095., 1744820., 1749545., 1754270., 1758995., 1763720., 1768445.,
      1773170., 1777895., 1782620., 1787345., 1792070., 1796795., 1801520.,
      1735940., 1740680., 1745420., 1750160., 1754900., 1759640., 1764380.,
      1769120., 1773860., 1778600., 1783340., 1788080., 1792820., 1797560.,
      1802300., 1807040., 1741235., 1745990., 1750745., 1755500., 1760255.,
      1765010., 1769765., 1774520., 1779275., 1784030., 1788785., 1793540.,
      1798295., 1803050., 1807805., 1812560., 1746530., 1751300., 1756070.,
      1760840., 1765610., 1770380., 1775150., 1779920., 1784690., 1789460.,
      1794230., 1799000., 1803770., 1808540., 1813310., 1818080., 1751825.,
      1756610., 1761395., 1766180., 1770965., 1775750., 1780535., 1785320.,
      1790105., 1794890., 1799675., 1804460., 1809245., 1814030., 1818815.,
      1823600., 1757120., 1761920., 1766720., 1771520., 1776320., 1781120.,
      1785920., 1790720., 1795520., 1800320., 1805120., 1809920., 1814720.,
      1819520., 1824320., 1829120., 1762415., 1767230., 1772045., 1776860.,
      1781675., 1786490., 1791305., 1796120., 1800935., 1805750., 1810565.,
      1815380., 1820195., 1825010., 1829825., 1834640., 1767710., 1772540.,
      1777370., 1782200., 1787030., 1791860., 1796690., 1801520., 1806350.,
      1811180., 1816010., 1820840., 1825670., 1830500., 1835330., 1840160.,
      4679225., 4687010., 4694795., 4702580., 4710365., 4718150., 4725935.,
      4733720., 4741505., 4749290., 4757075., 4764860., 4772645., 4780430.,
      4788215., 4796000., 4688120., 4695920., 4703720., 4711520., 4719320.,
      4727120., 4734920., 4742720., 4750520., 4758320., 4766120., 4773920.,
      4781720., 4789520., 4797320., 4805120., 4697015., 4704830., 4712645.,
      4720460., 4728275., 4736090., 4743905., 4751720., 4759535., 4767350.,
      4775165., 4782980., 4790795., 4798610., 4806425., 4814240., 4705910.,
      4713740., 4721570., 4729400., 4737230., 4745060., 4752890., 4760720.,
      4768550., 4776380., 4784210., 4792040., 4799870., 4807700., 4815530.,
      4823360., 4714805., 4722650., 4730495., 4738340., 4746185., 4754030.,
      4761875., 4769720., 4777565., 4785410., 4793255., 4801100., 4808945.,
      4816790., 4824635., 4832480., 4723700., 4731560., 4739420., 4747280.,
      4755140., 4763000., 4770860., 4778720., 4786580., 4794440., 4802300.,
      4810160., 4818020., 4825880., 4833740., 4841600., 4732595., 4740470.,
      4748345., 4756220., 4764095., 4771970., 4779845., 4787720., 4795595.,
      4803470., 4811345., 4819220., 4827095., 4834970., 4842845., 4850720.,
      4741490., 4749380., 4757270., 4765160., 4773050., 4780940., 4788830.,
      4796720., 4804610., 4812500., 4820390., 4828280., 4836170., 4844060.,
      4851950., 4859840., 4750385., 4758290., 4766195., 4774100., 4782005.,
      4789910., 4797815., 4805720., 4813625., 4821530., 4829435., 4837340.,
      4845245., 4853150., 4861055., 4868960., 4759280., 4767200., 4775120.,
      4783040., 4790960., 4798880., 4806800., 4814720., 4822640., 4830560.,
      4838480., 4846400., 4854320., 4862240., 4870160., 4878080., 4768175.,
      4776110., 4784045., 4791980., 4799915., 4807850., 4815785., 4823720.,
      4831655., 4839590., 4847525., 4855460., 4863395., 4871330., 4879265.,
      4887200., 4777070., 4785020., 4792970., 4800920., 4808870., 4816820.,
      4824770., 4832720., 4840670., 4848620., 4856570., 4864520., 4872470.,
      4880420., 4888370., 4896320., 4785965., 4793930., 4801895., 4809860.,
      4817825., 4825790., 4833755., 4841720., 4849685., 4857650., 4865615.,
      4873580., 4881545., 4889510., 4897475., 4905440., 4794860., 4802840.,
      4810820., 4818800., 4826780., 4834760., 4842740., 4850720., 4858700.,
      4866680., 4874660., 4882640., 4890620., 4898600., 4906580., 4914560.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      246416.,  248112.,  249808.,  251504.,  253200.,  254896.,  256592.,
      258288.,  259984.,  261680.,  263376.,  265072.,  266768.,  268464.,
      248112.,  249824.,  251536.,  253248.,  254960.,  256672.,  258384.,
      260096.,  261808.,  263520.,  265232.,  266944.,  268656.,  270368.,
      249808.,  251536.,  253264.,  254992.,  256720.,  258448.,  260176.,
      261904.,  263632.,  265360.,  267088.,  268816.,  270544.,  272272.,
      251504.,  253248.,  254992.,  256736.,  258480.,  260224.,  261968.,
      263712.,  265456.,  267200.,  268944.,  270688.,  272432.,  274176.,
      253200.,  254960.,  256720.,  258480.,  260240.,  262000.,  263760.,
      265520.,  267280.,  269040.,  270800.,  272560.,  274320.,  276080.,
      254896.,  256672.,  258448.,  260224.,  262000.,  263776.,  265552.,
      267328.,  269104.,  270880.,  272656.,  274432.,  276208.,  277984.,
      256592.,  258384.,  260176.,  261968.,  263760.,  265552.,  267344.,
      269136.,  270928.,  272720.,  274512.,  276304.,  278096.,  279888.,
      258288.,  260096.,  261904.,  263712.,  265520.,  267328.,  269136.,
      270944.,  272752.,  274560.,  276368.,  278176.,  279984.,  281792.,
      259984.,  261808.,  263632.,  265456.,  267280.,  269104.,  270928.,
      272752.,  274576.,  276400.,  278224.,  280048.,  281872.,  283696.,
      261680.,  263520.,  265360.,  267200.,  269040.,  270880.,  272720.,
      274560.,  276400.,  278240.,  280080.,  281920.,  283760.,  285600.,
      263376.,  265232.,  267088.,  268944.,  270800.,  272656.,  274512.,
      276368.,  278224.,  280080.,  281936.,  283792.,  285648.,  287504.,
      265072.,  266944.,  268816.,  270688.,  272560.,  274432.,  276304.,
      278176.,  280048.,  281920.,  283792.,  285664.,  287536.,  289408.,
      266768.,  268656.,  270544.,  272432.,  274320.,  276208.,  278096.,
      279984.,  281872.,  283760.,  285648.,  287536.,  289424.,  291312.,
      268464.,  270368.,  272272.,  274176.,  276080.,  277984.,  279888.,
      281792.,  283696.,  285600.,  287504.,  289408.,  291312.,  293216.,
      1809040., 1814320., 1819600., 1824880., 1830160., 1835440., 1840720.,
      1846000., 1851280., 1856560., 1861840., 1867120., 1872400., 1877680.,
      1814320., 1819616., 1824912., 1830208., 1835504., 1840800., 1846096.,
      1851392., 1856688., 1861984., 1867280., 1872576., 1877872., 1883168.,
      1819600., 1824912., 1830224., 1835536., 1840848., 1846160., 1851472.,
      1856784., 1862096., 1867408., 1872720., 1878032., 1883344., 1888656.,
      1824880., 1830208., 1835536., 1840864., 1846192., 1851520., 1856848.,
      1862176., 1867504., 1872832., 1878160., 1883488., 1888816., 1894144.,
      1830160., 1835504., 1840848., 1846192., 1851536., 1856880., 1862224.,
      1867568., 1872912., 1878256., 1883600., 1888944., 1894288., 1899632.,
      1835440., 1840800., 1846160., 1851520., 1856880., 1862240., 1867600.,
      1872960., 1878320., 1883680., 1889040., 1894400., 1899760., 1905120.,
      1840720., 1846096., 1851472., 1856848., 1862224., 1867600., 1872976.,
      1878352., 1883728., 1889104., 1894480., 1899856., 1905232., 1910608.,
      1846000., 1851392., 1856784., 1862176., 1867568., 1872960., 1878352.,
      1883744., 1889136., 1894528., 1899920., 1905312., 1910704., 1916096.,
      1851280., 1856688., 1862096., 1867504., 1872912., 1878320., 1883728.,
      1889136., 1894544., 1899952., 1905360., 1910768., 1916176., 1921584.,
      1856560., 1861984., 1867408., 1872832., 1878256., 1883680., 1889104.,
      1894528., 1899952., 1905376., 1910800., 1916224., 1921648., 1927072.,
      1861840., 1867280., 1872720., 1878160., 1883600., 1889040., 1894480.,
      1899920., 1905360., 1910800., 1916240., 1921680., 1927120., 1932560.,
      1867120., 1872576., 1878032., 1883488., 1888944., 1894400., 1899856.,
      1905312., 1910768., 1916224., 1921680., 1927136., 1932592., 1938048.,
      1872400., 1877872., 1883344., 1888816., 1894288., 1899760., 1905232.,
      1910704., 1916176., 1921648., 1927120., 1932592., 1938064., 1943536.,
      1877680., 1883168., 1888656., 1894144., 1899632., 1905120., 1910608.,
      1916096., 1921584., 1927072., 1932560., 1938048., 1943536., 1949024.,
      4977296., 4986160., 4995024., 5003888., 5012752., 5021616., 5030480.,
      5039344., 5048208., 5057072., 5065936., 5074800., 5083664., 5092528.,
      4986160., 4995040., 5003920., 5012800., 5021680., 5030560., 5039440.,
      5048320., 5057200., 5066080., 5074960., 5083840., 5092720., 5101600.,
      4995024., 5003920., 5012816., 5021712., 5030608., 5039504., 5048400.,
      5057296., 5066192., 5075088., 5083984., 5092880., 5101776., 5110672.,
      5003888., 5012800., 5021712., 5030624., 5039536., 5048448., 5057360.,
      5066272., 5075184., 5084096., 5093008., 5101920., 5110832., 5119744.,
      5012752., 5021680., 5030608., 5039536., 5048464., 5057392., 5066320.,
      5075248., 5084176., 5093104., 5102032., 5110960., 5119888., 5128816.,
      5021616., 5030560., 5039504., 5048448., 5057392., 5066336., 5075280.,
      5084224., 5093168., 5102112., 5111056., 5120000., 5128944., 5137888.,
      5030480., 5039440., 5048400., 5057360., 5066320., 5075280., 5084240.,
      5093200., 5102160., 5111120., 5120080., 5129040., 5138000., 5146960.,
      5039344., 5048320., 5057296., 5066272., 5075248., 5084224., 5093200.,
      5102176., 5111152., 5120128., 5129104., 5138080., 5147056., 5156032.,
      5048208., 5057200., 5066192., 5075184., 5084176., 5093168., 5102160.,
      5111152., 5120144., 5129136., 5138128., 5147120., 5156112., 5165104.,
      5057072., 5066080., 5075088., 5084096., 5093104., 5102112., 5111120.,
      5120128., 5129136., 5138144., 5147152., 5156160., 5165168., 5174176.,
      5065936., 5074960., 5083984., 5093008., 5102032., 5111056., 5120080.,
      5129104., 5138128., 5147152., 5156176., 5165200., 5174224., 5183248.,
      5074800., 5083840., 5092880., 5101920., 5110960., 5120000., 5129040.,
      5138080., 5147120., 5156160., 5165200., 5174240., 5183280., 5192320.,
      5083664., 5092720., 5101776., 5110832., 5119888., 5128944., 5138000.,
      5147056., 5156112., 5165168., 5174224., 5183280., 5192336., 5201392.,
      5092528., 5101600., 5110672., 5119744., 5128816., 5137888., 5146960.,
      5156032., 5165104., 5174176., 5183248., 5192320., 5201392., 5210464.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      263896.,  265592.,  267288.,  268984.,  270680.,  272376.,  274072.,
      275768.,  277464.,  279160.,  280856.,  282552.,  284248.,  285944.,
      287640.,  265712.,  267424.,  269136.,  270848.,  272560.,  274272.,
      275984.,  277696.,  279408.,  281120.,  282832.,  284544.,  286256.,
      287968.,  289680.,  267528.,  269256.,  270984.,  272712.,  274440.,
      276168.,  277896.,  279624.,  281352.,  283080.,  284808.,  286536.,
      288264.,  289992.,  291720.,  269344.,  271088.,  272832.,  274576.,
      276320.,  278064.,  279808.,  281552.,  283296.,  285040.,  286784.,
      288528.,  290272.,  292016.,  293760.,  271160.,  272920.,  274680.,
      276440.,  278200.,  279960.,  281720.,  283480.,  285240.,  287000.,
      288760.,  290520.,  292280.,  294040.,  295800.,  272976.,  274752.,
      276528.,  278304.,  280080.,  281856.,  283632.,  285408.,  287184.,
      288960.,  290736.,  292512.,  294288.,  296064.,  297840.,  274792.,
      276584.,  278376.,  280168.,  281960.,  283752.,  285544.,  287336.,
      289128.,  290920.,  292712.,  294504.,  296296.,  298088.,  299880.,
      276608.,  278416.,  280224.,  282032.,  283840.,  285648.,  287456.,
      289264.,  291072.,  292880.,  294688.,  296496.,  298304.,  300112.,
      301920.,  278424.,  280248.,  282072.,  283896.,  285720.,  287544.,
      289368.,  291192.,  293016.,  294840.,  296664.,  298488.,  300312.,
      302136.,  303960.,  280240.,  282080.,  283920.,  285760.,  287600.,
      289440.,  291280.,  293120.,  294960.,  296800.,  298640.,  300480.,
      302320.,  304160.,  306000.,  282056.,  283912.,  285768.,  287624.,
      289480.,  291336.,  293192.,  295048.,  296904.,  298760.,  300616.,
      302472.,  304328.,  306184.,  308040.,  283872.,  285744.,  287616.,
      289488.,  291360.,  293232.,  295104.,  296976.,  298848.,  300720.,
      302592.,  304464.,  306336.,  308208.,  310080.,  285688.,  287576.,
      289464.,  291352.,  293240.,  295128.,  297016.,  298904.,  300792.,
      302680.,  304568.,  306456.,  308344.,  310232.,  312120.,  287504.,
      289408.,  291312.,  293216.,  295120.,  297024.,  298928.,  300832.,
      302736.,  304640.,  306544.,  308448.,  310352.,  312256.,  314160.,
      1937880., 1943160., 1948440., 1953720., 1959000., 1964280., 1969560.,
      1974840., 1980120., 1985400., 1990680., 1995960., 2001240., 2006520.,
      2011800., 1943536., 1948832., 1954128., 1959424., 1964720., 1970016.,
      1975312., 1980608., 1985904., 1991200., 1996496., 2001792., 2007088.,
      2012384., 2017680., 1949192., 1954504., 1959816., 1965128., 1970440.,
      1975752., 1981064., 1986376., 1991688., 1997000., 2002312., 2007624.,
      2012936., 2018248., 2023560., 1954848., 1960176., 1965504., 1970832.,
      1976160., 1981488., 1986816., 1992144., 1997472., 2002800., 2008128.,
      2013456., 2018784., 2024112., 2029440., 1960504., 1965848., 1971192.,
      1976536., 1981880., 1987224., 1992568., 1997912., 2003256., 2008600.,
      2013944., 2019288., 2024632., 2029976., 2035320., 1966160., 1971520.,
      1976880., 1982240., 1987600., 1992960., 1998320., 2003680., 2009040.,
      2014400., 2019760., 2025120., 2030480., 2035840., 2041200., 1971816.,
      1977192., 1982568., 1987944., 1993320., 1998696., 2004072., 2009448.,
      2014824., 2020200., 2025576., 2030952., 2036328., 2041704., 2047080.,
      1977472., 1982864., 1988256., 1993648., 1999040., 2004432., 2009824.,
      2015216., 2020608., 2026000., 2031392., 2036784., 2042176., 2047568.,
      2052960., 1983128., 1988536., 1993944., 1999352., 2004760., 2010168.,
      2015576., 2020984., 2026392., 2031800., 2037208., 2042616., 2048024.,
      2053432., 2058840., 1988784., 1994208., 1999632., 2005056., 2010480.,
      2015904., 2021328., 2026752., 2032176., 2037600., 2043024., 2048448.,
      2053872., 2059296., 2064720., 1994440., 1999880., 2005320., 2010760.,
      2016200., 2021640., 2027080., 2032520., 2037960., 2043400., 2048840.,
      2054280., 2059720., 2065160., 2070600., 2000096., 2005552., 2011008.,
      2016464., 2021920., 2027376., 2032832., 2038288., 2043744., 2049200.,
      2054656., 2060112., 2065568., 2071024., 2076480., 2005752., 2011224.,
      2016696., 2022168., 2027640., 2033112., 2038584., 2044056., 2049528.,
      2055000., 2060472., 2065944., 2071416., 2076888., 2082360., 2011408.,
      2016896., 2022384., 2027872., 2033360., 2038848., 2044336., 2049824.,
      2055312., 2060800., 2066288., 2071776., 2077264., 2082752., 2088240.,
      5332184., 5341048., 5349912., 5358776., 5367640., 5376504., 5385368.,
      5394232., 5403096., 5411960., 5420824., 5429688., 5438552., 5447416.,
      5456280., 5341680., 5350560., 5359440., 5368320., 5377200., 5386080.,
      5394960., 5403840., 5412720., 5421600., 5430480., 5439360., 5448240.,
      5457120., 5466000., 5351176., 5360072., 5368968., 5377864., 5386760.,
      5395656., 5404552., 5413448., 5422344., 5431240., 5440136., 5449032.,
      5457928., 5466824., 5475720., 5360672., 5369584., 5378496., 5387408.,
      5396320., 5405232., 5414144., 5423056., 5431968., 5440880., 5449792.,
      5458704., 5467616., 5476528., 5485440., 5370168., 5379096., 5388024.,
      5396952., 5405880., 5414808., 5423736., 5432664., 5441592., 5450520.,
      5459448., 5468376., 5477304., 5486232., 5495160., 5379664., 5388608.,
      5397552., 5406496., 5415440., 5424384., 5433328., 5442272., 5451216.,
      5460160., 5469104., 5478048., 5486992., 5495936., 5504880., 5389160.,
      5398120., 5407080., 5416040., 5425000., 5433960., 5442920., 5451880.,
      5460840., 5469800., 5478760., 5487720., 5496680., 5505640., 5514600.,
      5398656., 5407632., 5416608., 5425584., 5434560., 5443536., 5452512.,
      5461488., 5470464., 5479440., 5488416., 5497392., 5506368., 5515344.,
      5524320., 5408152., 5417144., 5426136., 5435128., 5444120., 5453112.,
      5462104., 5471096., 5480088., 5489080., 5498072., 5507064., 5516056.,
      5525048., 5534040., 5417648., 5426656., 5435664., 5444672., 5453680.,
      5462688., 5471696., 5480704., 5489712., 5498720., 5507728., 5516736.,
      5525744., 5534752., 5543760., 5427144., 5436168., 5445192., 5454216.,
      5463240., 5472264., 5481288., 5490312., 5499336., 5508360., 5517384.,
      5526408., 5535432., 5544456., 5553480., 5436640., 5445680., 5454720.,
      5463760., 5472800., 5481840., 5490880., 5499920., 5508960., 5518000.,
      5527040., 5536080., 5545120., 5554160., 5563200., 5446136., 5455192.,
      5464248., 5473304., 5482360., 5491416., 5500472., 5509528., 5518584.,
      5527640., 5536696., 5545752., 5554808., 5563864., 5572920., 5455632.,
      5464704., 5473776., 5482848., 5491920., 5500992., 5510064., 5519136.,
      5528208., 5537280., 5546352., 5555424., 5564496., 5573568., 5582640.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M14xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      281376.,  283072.,  284768.,  286464.,  288160.,  289856.,  291552.,
      293248.,  294944.,  296640.,  298336.,  300032.,  301728.,  303424.,
      305120.,  306816.,  283312.,  285024.,  286736.,  288448.,  290160.,
      291872.,  293584.,  295296.,  297008.,  298720.,  300432.,  302144.,
      303856.,  305568.,  307280.,  308992.,  285248.,  286976.,  288704.,
      290432.,  292160.,  293888.,  295616.,  297344.,  299072.,  300800.,
      302528.,  304256.,  305984.,  307712.,  309440.,  311168.,  287184.,
      288928.,  290672.,  292416.,  294160.,  295904.,  297648.,  299392.,
      301136.,  302880.,  304624.,  306368.,  308112.,  309856.,  311600.,
      313344.,  289120.,  290880.,  292640.,  294400.,  296160.,  297920.,
      299680.,  301440.,  303200.,  304960.,  306720.,  308480.,  310240.,
      312000.,  313760.,  315520.,  291056.,  292832.,  294608.,  296384.,
      298160.,  299936.,  301712.,  303488.,  305264.,  307040.,  308816.,
      310592.,  312368.,  314144.,  315920.,  317696.,  292992.,  294784.,
      296576.,  298368.,  300160.,  301952.,  303744.,  305536.,  307328.,
      309120.,  310912.,  312704.,  314496.,  316288.,  318080.,  319872.,
      294928.,  296736.,  298544.,  300352.,  302160.,  303968.,  305776.,
      307584.,  309392.,  311200.,  313008.,  314816.,  316624.,  318432.,
      320240.,  322048.,  296864.,  298688.,  300512.,  302336.,  304160.,
      305984.,  307808.,  309632.,  311456.,  313280.,  315104.,  316928.,
      318752.,  320576.,  322400.,  324224.,  298800.,  300640.,  302480.,
      304320.,  306160.,  308000.,  309840.,  311680.,  313520.,  315360.,
      317200.,  319040.,  320880.,  322720.,  324560.,  326400.,  300736.,
      302592.,  304448.,  306304.,  308160.,  310016.,  311872.,  313728.,
      315584.,  317440.,  319296.,  321152.,  323008.,  324864.,  326720.,
      328576.,  302672.,  304544.,  306416.,  308288.,  310160.,  312032.,
      313904.,  315776.,  317648.,  319520.,  321392.,  323264.,  325136.,
      327008.,  328880.,  330752.,  304608.,  306496.,  308384.,  310272.,
      312160.,  314048.,  315936.,  317824.,  319712.,  321600.,  323488.,
      325376.,  327264.,  329152.,  331040.,  332928.,  306544.,  308448.,
      310352.,  312256.,  314160.,  316064.,  317968.,  319872.,  321776.,
      323680.,  325584.,  327488.,  329392.,  331296.,  333200.,  335104.,
      2066720., 2072000., 2077280., 2082560., 2087840., 2093120., 2098400.,
      2103680., 2108960., 2114240., 2119520., 2124800., 2130080., 2135360.,
      2140640., 2145920., 2072752., 2078048., 2083344., 2088640., 2093936.,
      2099232., 2104528., 2109824., 2115120., 2120416., 2125712., 2131008.,
      2136304., 2141600., 2146896., 2152192., 2078784., 2084096., 2089408.,
      2094720., 2100032., 2105344., 2110656., 2115968., 2121280., 2126592.,
      2131904., 2137216., 2142528., 2147840., 2153152., 2158464., 2084816.,
      2090144., 2095472., 2100800., 2106128., 2111456., 2116784., 2122112.,
      2127440., 2132768., 2138096., 2143424., 2148752., 2154080., 2159408.,
      2164736., 2090848., 2096192., 2101536., 2106880., 2112224., 2117568.,
      2122912., 2128256., 2133600., 2138944., 2144288., 2149632., 2154976.,
      2160320., 2165664., 2171008., 2096880., 2102240., 2107600., 2112960.,
      2118320., 2123680., 2129040., 2134400., 2139760., 2145120., 2150480.,
      2155840., 2161200., 2166560., 2171920., 2177280., 2102912., 2108288.,
      2113664., 2119040., 2124416., 2129792., 2135168., 2140544., 2145920.,
      2151296., 2156672., 2162048., 2167424., 2172800., 2178176., 2183552.,
      2108944., 2114336., 2119728., 2125120., 2130512., 2135904., 2141296.,
      2146688., 2152080., 2157472., 2162864., 2168256., 2173648., 2179040.,
      2184432., 2189824., 2114976., 2120384., 2125792., 2131200., 2136608.,
      2142016., 2147424., 2152832., 2158240., 2163648., 2169056., 2174464.,
      2179872., 2185280., 2190688., 2196096., 2121008., 2126432., 2131856.,
      2137280., 2142704., 2148128., 2153552., 2158976., 2164400., 2169824.,
      2175248., 2180672., 2186096., 2191520., 2196944., 2202368., 2127040.,
      2132480., 2137920., 2143360., 2148800., 2154240., 2159680., 2165120.,
      2170560., 2176000., 2181440., 2186880., 2192320., 2197760., 2203200.,
      2208640., 2133072., 2138528., 2143984., 2149440., 2154896., 2160352.,
      2165808., 2171264., 2176720., 2182176., 2187632., 2193088., 2198544.,
      2204000., 2209456., 2214912., 2139104., 2144576., 2150048., 2155520.,
      2160992., 2166464., 2171936., 2177408., 2182880., 2188352., 2193824.,
      2199296., 2204768., 2210240., 2215712., 2221184., 2145136., 2150624.,
      2156112., 2161600., 2167088., 2172576., 2178064., 2183552., 2189040.,
      2194528., 2200016., 2205504., 2210992., 2216480., 2221968., 2227456.,
      5687072., 5695936., 5704800., 5713664., 5722528., 5731392., 5740256.,
      5749120., 5757984., 5766848., 5775712., 5784576., 5793440., 5802304.,
      5811168., 5820032., 5697200., 5706080., 5714960., 5723840., 5732720.,
      5741600., 5750480., 5759360., 5768240., 5777120., 5786000., 5794880.,
      5803760., 5812640., 5821520., 5830400., 5707328., 5716224., 5725120.,
      5734016., 5742912., 5751808., 5760704., 5769600., 5778496., 5787392.,
      5796288., 5805184., 5814080., 5822976., 5831872., 5840768., 5717456.,
      5726368., 5735280., 5744192., 5753104., 5762016., 5770928., 5779840.,
      5788752., 5797664., 5806576., 5815488., 5824400., 5833312., 5842224.,
      5851136., 5727584., 5736512., 5745440., 5754368., 5763296., 5772224.,
      5781152., 5790080., 5799008., 5807936., 5816864., 5825792., 5834720.,
      5843648., 5852576., 5861504., 5737712., 5746656., 5755600., 5764544.,
      5773488., 5782432., 5791376., 5800320., 5809264., 5818208., 5827152.,
      5836096., 5845040., 5853984., 5862928., 5871872., 5747840., 5756800.,
      5765760., 5774720., 5783680., 5792640., 5801600., 5810560., 5819520.,
      5828480., 5837440., 5846400., 5855360., 5864320., 5873280., 5882240.,
      5757968., 5766944., 5775920., 5784896., 5793872., 5802848., 5811824.,
      5820800., 5829776., 5838752., 5847728., 5856704., 5865680., 5874656.,
      5883632., 5892608., 5768096., 5777088., 5786080., 5795072., 5804064.,
      5813056., 5822048., 5831040., 5840032., 5849024., 5858016., 5867008.,
      5876000., 5884992., 5893984., 5902976., 5778224., 5787232., 5796240.,
      5805248., 5814256., 5823264., 5832272., 5841280., 5850288., 5859296.,
      5868304., 5877312., 5886320., 5895328., 5904336., 5913344., 5788352.,
      5797376., 5806400., 5815424., 5824448., 5833472., 5842496., 5851520.,
      5860544., 5869568., 5878592., 5887616., 5896640., 5905664., 5914688.,
      5923712., 5798480., 5807520., 5816560., 5825600., 5834640., 5843680.,
      5852720., 5861760., 5870800., 5879840., 5888880., 5897920., 5906960.,
      5916000., 5925040., 5934080., 5808608., 5817664., 5826720., 5835776.,
      5844832., 5853888., 5862944., 5872000., 5881056., 5890112., 5899168.,
      5908224., 5917280., 5926336., 5935392., 5944448., 5818736., 5827808.,
      5836880., 5845952., 5855024., 5864096., 5873168., 5882240., 5891312.,
      5900384., 5909456., 5918528., 5927600., 5936672., 5945744., 5954816.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      174643.,  176022.,  177401.,  178780.,  180159.,  181538.,  182917.,
      184296.,  185675.,  187054.,  188433.,  189812.,  191191.,  192570.,
      175931.,  177324.,  178717.,  180110.,  181503.,  182896.,  184289.,
      185682.,  187075.,  188468.,  189861.,  191254.,  192647.,  194040.,
      177219.,  178626.,  180033.,  181440.,  182847.,  184254.,  185661.,
      187068.,  188475.,  189882.,  191289.,  192696.,  194103.,  195510.,
      178507.,  179928.,  181349.,  182770.,  184191.,  185612.,  187033.,
      188454.,  189875.,  191296.,  192717.,  194138.,  195559.,  196980.,
      179795.,  181230.,  182665.,  184100.,  185535.,  186970.,  188405.,
      189840.,  191275.,  192710.,  194145.,  195580.,  197015.,  198450.,
      181083.,  182532.,  183981.,  185430.,  186879.,  188328.,  189777.,
      191226.,  192675.,  194124.,  195573.,  197022.,  198471.,  199920.,
      182371.,  183834.,  185297.,  186760.,  188223.,  189686.,  191149.,
      192612.,  194075.,  195538.,  197001.,  198464.,  199927.,  201390.,
      183659.,  185136.,  186613.,  188090.,  189567.,  191044.,  192521.,
      193998.,  195475.,  196952.,  198429.,  199906.,  201383.,  202860.,
      184947.,  186438.,  187929.,  189420.,  190911.,  192402.,  193893.,
      195384.,  196875.,  198366.,  199857.,  201348.,  202839.,  204330.,
      186235.,  187740.,  189245.,  190750.,  192255.,  193760.,  195265.,
      196770.,  198275.,  199780.,  201285.,  202790.,  204295.,  205800.,
      187523.,  189042.,  190561.,  192080.,  193599.,  195118.,  196637.,
      198156.,  199675.,  201194.,  202713.,  204232.,  205751.,  207270.,
      188811.,  190344.,  191877.,  193410.,  194943.,  196476.,  198009.,
      199542.,  201075.,  202608.,  204141.,  205674.,  207207.,  208740.,
      190099.,  191646.,  193193.,  194740.,  196287.,  197834.,  199381.,
      200928.,  202475.,  204022.,  205569.,  207116.,  208663.,  210210.,
      191387.,  192948.,  194509.,  196070.,  197631.,  199192.,  200753.,
      202314.,  203875.,  205436.,  206997.,  208558.,  210119.,  211680.,
      192675.,  194250.,  195825.,  197400.,  198975.,  200550.,  202125.,
      203700.,  205275.,  206850.,  208425.,  210000.,  211575.,  213150.,
      1291647., 1295966., 1300285., 1304604., 1308923., 1313242., 1317561.,
      1321880., 1326199., 1330518., 1334837., 1339156., 1343475., 1347794.,
      1295679., 1300012., 1304345., 1308678., 1313011., 1317344., 1321677.,
      1326010., 1330343., 1334676., 1339009., 1343342., 1347675., 1352008.,
      1299711., 1304058., 1308405., 1312752., 1317099., 1321446., 1325793.,
      1330140., 1334487., 1338834., 1343181., 1347528., 1351875., 1356222.,
      1303743., 1308104., 1312465., 1316826., 1321187., 1325548., 1329909.,
      1334270., 1338631., 1342992., 1347353., 1351714., 1356075., 1360436.,
      1307775., 1312150., 1316525., 1320900., 1325275., 1329650., 1334025.,
      1338400., 1342775., 1347150., 1351525., 1355900., 1360275., 1364650.,
      1311807., 1316196., 1320585., 1324974., 1329363., 1333752., 1338141.,
      1342530., 1346919., 1351308., 1355697., 1360086., 1364475., 1368864.,
      1315839., 1320242., 1324645., 1329048., 1333451., 1337854., 1342257.,
      1346660., 1351063., 1355466., 1359869., 1364272., 1368675., 1373078.,
      1319871., 1324288., 1328705., 1333122., 1337539., 1341956., 1346373.,
      1350790., 1355207., 1359624., 1364041., 1368458., 1372875., 1377292.,
      1323903., 1328334., 1332765., 1337196., 1341627., 1346058., 1350489.,
      1354920., 1359351., 1363782., 1368213., 1372644., 1377075., 1381506.,
      1327935., 1332380., 1336825., 1341270., 1345715., 1350160., 1354605.,
      1359050., 1363495., 1367940., 1372385., 1376830., 1381275., 1385720.,
      1331967., 1336426., 1340885., 1345344., 1349803., 1354262., 1358721.,
      1363180., 1367639., 1372098., 1376557., 1381016., 1385475., 1389934.,
      1335999., 1340472., 1344945., 1349418., 1353891., 1358364., 1362837.,
      1367310., 1371783., 1376256., 1380729., 1385202., 1389675., 1394148.,
      1340031., 1344518., 1349005., 1353492., 1357979., 1362466., 1366953.,
      1371440., 1375927., 1380414., 1384901., 1389388., 1393875., 1398362.,
      1344063., 1348564., 1353065., 1357566., 1362067., 1366568., 1371069.,
      1375570., 1380071., 1384572., 1389073., 1393574., 1398075., 1402576.,
      1348095., 1352610., 1357125., 1361640., 1366155., 1370670., 1375185.,
      1379700., 1384215., 1388730., 1393245., 1397760., 1402275., 1406790.,
      3561131., 3568390., 3575649., 3582908., 3590167., 3597426., 3604685.,
      3611944., 3619203., 3626462., 3633721., 3640980., 3648239., 3655498.,
      3567907., 3575180., 3582453., 3589726., 3596999., 3604272., 3611545.,
      3618818., 3626091., 3633364., 3640637., 3647910., 3655183., 3662456.,
      3574683., 3581970., 3589257., 3596544., 3603831., 3611118., 3618405.,
      3625692., 3632979., 3640266., 3647553., 3654840., 3662127., 3669414.,
      3581459., 3588760., 3596061., 3603362., 3610663., 3617964., 3625265.,
      3632566., 3639867., 3647168., 3654469., 3661770., 3669071., 3676372.,
      3588235., 3595550., 3602865., 3610180., 3617495., 3624810., 3632125.,
      3639440., 3646755., 3654070., 3661385., 3668700., 3676015., 3683330.,
      3595011., 3602340., 3609669., 3616998., 3624327., 3631656., 3638985.,
      3646314., 3653643., 3660972., 3668301., 3675630., 3682959., 3690288.,
      3601787., 3609130., 3616473., 3623816., 3631159., 3638502., 3645845.,
      3653188., 3660531., 3667874., 3675217., 3682560., 3689903., 3697246.,
      3608563., 3615920., 3623277., 3630634., 3637991., 3645348., 3652705.,
      3660062., 3667419., 3674776., 3682133., 3689490., 3696847., 3704204.,
      3615339., 3622710., 3630081., 3637452., 3644823., 3652194., 3659565.,
      3666936., 3674307., 3681678., 3689049., 3696420., 3703791., 3711162.,
      3622115., 3629500., 3636885., 3644270., 3651655., 3659040., 3666425.,
      3673810., 3681195., 3688580., 3695965., 3703350., 3710735., 3718120.,
      3628891., 3636290., 3643689., 3651088., 3658487., 3665886., 3673285.,
      3680684., 3688083., 3695482., 3702881., 3710280., 3717679., 3725078.,
      3635667., 3643080., 3650493., 3657906., 3665319., 3672732., 3680145.,
      3687558., 3694971., 3702384., 3709797., 3717210., 3724623., 3732036.,
      3642443., 3649870., 3657297., 3664724., 3672151., 3679578., 3687005.,
      3694432., 3701859., 3709286., 3716713., 3724140., 3731567., 3738994.,
      3649219., 3656660., 3664101., 3671542., 3678983., 3686424., 3693865.,
      3701306., 3708747., 3716188., 3723629., 3731070., 3738511., 3745952.,
      3655995., 3663450., 3670905., 3678360., 3685815., 3693270., 3700725.,
      3708180., 3715635., 3723090., 3730545., 3738000., 3745455., 3752910.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      187019.,  188398.,  189777.,  191156.,  192535.,  193914.,  195293.,
      196672.,  198051.,  199430.,  200809.,  202188.,  203567.,  204946.,
      206325.,  188398.,  189791.,  191184.,  192577.,  193970.,  195363.,
      196756.,  198149.,  199542.,  200935.,  202328.,  203721.,  205114.,
      206507.,  207900.,  189777.,  191184.,  192591.,  193998.,  195405.,
      196812.,  198219.,  199626.,  201033.,  202440.,  203847.,  205254.,
      206661.,  208068.,  209475.,  191156.,  192577.,  193998.,  195419.,
      196840.,  198261.,  199682.,  201103.,  202524.,  203945.,  205366.,
      206787.,  208208.,  209629.,  211050.,  192535.,  193970.,  195405.,
      196840.,  198275.,  199710.,  201145.,  202580.,  204015.,  205450.,
      206885.,  208320.,  209755.,  211190.,  212625.,  193914.,  195363.,
      196812.,  198261.,  199710.,  201159.,  202608.,  204057.,  205506.,
      206955.,  208404.,  209853.,  211302.,  212751.,  214200.,  195293.,
      196756.,  198219.,  199682.,  201145.,  202608.,  204071.,  205534.,
      206997.,  208460.,  209923.,  211386.,  212849.,  214312.,  215775.,
      196672.,  198149.,  199626.,  201103.,  202580.,  204057.,  205534.,
      207011.,  208488.,  209965.,  211442.,  212919.,  214396.,  215873.,
      217350.,  198051.,  199542.,  201033.,  202524.,  204015.,  205506.,
      206997.,  208488.,  209979.,  211470.,  212961.,  214452.,  215943.,
      217434.,  218925.,  199430.,  200935.,  202440.,  203945.,  205450.,
      206955.,  208460.,  209965.,  211470.,  212975.,  214480.,  215985.,
      217490.,  218995.,  220500.,  200809.,  202328.,  203847.,  205366.,
      206885.,  208404.,  209923.,  211442.,  212961.,  214480.,  215999.,
      217518.,  219037.,  220556.,  222075.,  202188.,  203721.,  205254.,
      206787.,  208320.,  209853.,  211386.,  212919.,  214452.,  215985.,
      217518.,  219051.,  220584.,  222117.,  223650.,  203567.,  205114.,
      206661.,  208208.,  209755.,  211302.,  212849.,  214396.,  215943.,
      217490.,  219037.,  220584.,  222131.,  223678.,  225225.,  204946.,
      206507.,  208068.,  209629.,  211190.,  212751.,  214312.,  215873.,
      217434.,  218995.,  220556.,  222117.,  223678.,  225239.,  226800.,
      206325.,  207900.,  209475.,  211050.,  212625.,  214200.,  215775.,
      217350.,  218925.,  220500.,  222075.,  223650.,  225225.,  226800.,
      228375.,  1383599., 1387918., 1392237., 1396556., 1400875., 1405194.,
      1409513., 1413832., 1418151., 1422470., 1426789., 1431108., 1435427.,
      1439746., 1444065., 1387918., 1392251., 1396584., 1400917., 1405250.,
      1409583., 1413916., 1418249., 1422582., 1426915., 1431248., 1435581.,
      1439914., 1444247., 1448580., 1392237., 1396584., 1400931., 1405278.,
      1409625., 1413972., 1418319., 1422666., 1427013., 1431360., 1435707.,
      1440054., 1444401., 1448748., 1453095., 1396556., 1400917., 1405278.,
      1409639., 1414000., 1418361., 1422722., 1427083., 1431444., 1435805.,
      1440166., 1444527., 1448888., 1453249., 1457610., 1400875., 1405250.,
      1409625., 1414000., 1418375., 1422750., 1427125., 1431500., 1435875.,
      1440250., 1444625., 1449000., 1453375., 1457750., 1462125., 1405194.,
      1409583., 1413972., 1418361., 1422750., 1427139., 1431528., 1435917.,
      1440306., 1444695., 1449084., 1453473., 1457862., 1462251., 1466640.,
      1409513., 1413916., 1418319., 1422722., 1427125., 1431528., 1435931.,
      1440334., 1444737., 1449140., 1453543., 1457946., 1462349., 1466752.,
      1471155., 1413832., 1418249., 1422666., 1427083., 1431500., 1435917.,
      1440334., 1444751., 1449168., 1453585., 1458002., 1462419., 1466836.,
      1471253., 1475670., 1418151., 1422582., 1427013., 1431444., 1435875.,
      1440306., 1444737., 1449168., 1453599., 1458030., 1462461., 1466892.,
      1471323., 1475754., 1480185., 1422470., 1426915., 1431360., 1435805.,
      1440250., 1444695., 1449140., 1453585., 1458030., 1462475., 1466920.,
      1471365., 1475810., 1480255., 1484700., 1426789., 1431248., 1435707.,
      1440166., 1444625., 1449084., 1453543., 1458002., 1462461., 1466920.,
      1471379., 1475838., 1480297., 1484756., 1489215., 1431108., 1435581.,
      1440054., 1444527., 1449000., 1453473., 1457946., 1462419., 1466892.,
      1471365., 1475838., 1480311., 1484784., 1489257., 1493730., 1435427.,
      1439914., 1444401., 1448888., 1453375., 1457862., 1462349., 1466836.,
      1471323., 1475810., 1480297., 1484784., 1489271., 1493758., 1498245.,
      1439746., 1444247., 1448748., 1453249., 1457750., 1462251., 1466752.,
      1471253., 1475754., 1480255., 1484756., 1489257., 1493758., 1498259.,
      1502760., 1444065., 1448580., 1453095., 1457610., 1462125., 1466640.,
      1471155., 1475670., 1480185., 1484700., 1489215., 1493730., 1498245.,
      1502760., 1507275., 3814979., 3822238., 3829497., 3836756., 3844015.,
      3851274., 3858533., 3865792., 3873051., 3880310., 3887569., 3894828.,
      3902087., 3909346., 3916605., 3822238., 3829511., 3836784., 3844057.,
      3851330., 3858603., 3865876., 3873149., 3880422., 3887695., 3894968.,
      3902241., 3909514., 3916787., 3924060., 3829497., 3836784., 3844071.,
      3851358., 3858645., 3865932., 3873219., 3880506., 3887793., 3895080.,
      3902367., 3909654., 3916941., 3924228., 3931515., 3836756., 3844057.,
      3851358., 3858659., 3865960., 3873261., 3880562., 3887863., 3895164.,
      3902465., 3909766., 3917067., 3924368., 3931669., 3938970., 3844015.,
      3851330., 3858645., 3865960., 3873275., 3880590., 3887905., 3895220.,
      3902535., 3909850., 3917165., 3924480., 3931795., 3939110., 3946425.,
      3851274., 3858603., 3865932., 3873261., 3880590., 3887919., 3895248.,
      3902577., 3909906., 3917235., 3924564., 3931893., 3939222., 3946551.,
      3953880., 3858533., 3865876., 3873219., 3880562., 3887905., 3895248.,
      3902591., 3909934., 3917277., 3924620., 3931963., 3939306., 3946649.,
      3953992., 3961335., 3865792., 3873149., 3880506., 3887863., 3895220.,
      3902577., 3909934., 3917291., 3924648., 3932005., 3939362., 3946719.,
      3954076., 3961433., 3968790., 3873051., 3880422., 3887793., 3895164.,
      3902535., 3909906., 3917277., 3924648., 3932019., 3939390., 3946761.,
      3954132., 3961503., 3968874., 3976245., 3880310., 3887695., 3895080.,
      3902465., 3909850., 3917235., 3924620., 3932005., 3939390., 3946775.,
      3954160., 3961545., 3968930., 3976315., 3983700., 3887569., 3894968.,
      3902367., 3909766., 3917165., 3924564., 3931963., 3939362., 3946761.,
      3954160., 3961559., 3968958., 3976357., 3983756., 3991155., 3894828.,
      3902241., 3909654., 3917067., 3924480., 3931893., 3939306., 3946719.,
      3954132., 3961545., 3968958., 3976371., 3983784., 3991197., 3998610.,
      3902087., 3909514., 3916941., 3924368., 3931795., 3939222., 3946649.,
      3954076., 3961503., 3968930., 3976357., 3983784., 3991211., 3998638.,
      4006065., 3909346., 3916787., 3924228., 3931669., 3939110., 3946551.,
      3953992., 3961433., 3968874., 3976315., 3983756., 3991197., 3998638.,
      4006079., 4013520., 3916605., 3924060., 3931515., 3938970., 3946425.,
      3953880., 3961335., 3968790., 3976245., 3983700., 3991155., 3998610.,
      4006065., 4013520., 4020975.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      199395.,  200774.,  202153.,  203532.,  204911.,  206290.,  207669.,
      209048.,  210427.,  211806.,  213185.,  214564.,  215943.,  217322.,
      218701.,  220080.,  200865.,  202258.,  203651.,  205044.,  206437.,
      207830.,  209223.,  210616.,  212009.,  213402.,  214795.,  216188.,
      217581.,  218974.,  220367.,  221760.,  202335.,  203742.,  205149.,
      206556.,  207963.,  209370.,  210777.,  212184.,  213591.,  214998.,
      216405.,  217812.,  219219.,  220626.,  222033.,  223440.,  203805.,
      205226.,  206647.,  208068.,  209489.,  210910.,  212331.,  213752.,
      215173.,  216594.,  218015.,  219436.,  220857.,  222278.,  223699.,
      225120.,  205275.,  206710.,  208145.,  209580.,  211015.,  212450.,
      213885.,  215320.,  216755.,  218190.,  219625.,  221060.,  222495.,
      223930.,  225365.,  226800.,  206745.,  208194.,  209643.,  211092.,
      212541.,  213990.,  215439.,  216888.,  218337.,  219786.,  221235.,
      222684.,  224133.,  225582.,  227031.,  228480.,  208215.,  209678.,
      211141.,  212604.,  214067.,  215530.,  216993.,  218456.,  219919.,
      221382.,  222845.,  224308.,  225771.,  227234.,  228697.,  230160.,
      209685.,  211162.,  212639.,  214116.,  215593.,  217070.,  218547.,
      220024.,  221501.,  222978.,  224455.,  225932.,  227409.,  228886.,
      230363.,  231840.,  211155.,  212646.,  214137.,  215628.,  217119.,
      218610.,  220101.,  221592.,  223083.,  224574.,  226065.,  227556.,
      229047.,  230538.,  232029.,  233520.,  212625.,  214130.,  215635.,
      217140.,  218645.,  220150.,  221655.,  223160.,  224665.,  226170.,
      227675.,  229180.,  230685.,  232190.,  233695.,  235200.,  214095.,
      215614.,  217133.,  218652.,  220171.,  221690.,  223209.,  224728.,
      226247.,  227766.,  229285.,  230804.,  232323.,  233842.,  235361.,
      236880.,  215565.,  217098.,  218631.,  220164.,  221697.,  223230.,
      224763.,  226296.,  227829.,  229362.,  230895.,  232428.,  233961.,
      235494.,  237027.,  238560.,  217035.,  218582.,  220129.,  221676.,
      223223.,  224770.,  226317.,  227864.,  229411.,  230958.,  232505.,
      234052.,  235599.,  237146.,  238693.,  240240.,  218505.,  220066.,
      221627.,  223188.,  224749.,  226310.,  227871.,  229432.,  230993.,
      232554.,  234115.,  235676.,  237237.,  238798.,  240359.,  241920.,
      219975.,  221550.,  223125.,  224700.,  226275.,  227850.,  229425.,
      231000.,  232575.,  234150.,  235725.,  237300.,  238875.,  240450.,
      242025.,  243600.,  1475551., 1479870., 1484189., 1488508., 1492827.,
      1497146., 1501465., 1505784., 1510103., 1514422., 1518741., 1523060.,
      1527379., 1531698., 1536017., 1540336., 1480157., 1484490., 1488823.,
      1493156., 1497489., 1501822., 1506155., 1510488., 1514821., 1519154.,
      1523487., 1527820., 1532153., 1536486., 1540819., 1545152., 1484763.,
      1489110., 1493457., 1497804., 1502151., 1506498., 1510845., 1515192.,
      1519539., 1523886., 1528233., 1532580., 1536927., 1541274., 1545621.,
      1549968., 1489369., 1493730., 1498091., 1502452., 1506813., 1511174.,
      1515535., 1519896., 1524257., 1528618., 1532979., 1537340., 1541701.,
      1546062., 1550423., 1554784., 1493975., 1498350., 1502725., 1507100.,
      1511475., 1515850., 1520225., 1524600., 1528975., 1533350., 1537725.,
      1542100., 1546475., 1550850., 1555225., 1559600., 1498581., 1502970.,
      1507359., 1511748., 1516137., 1520526., 1524915., 1529304., 1533693.,
      1538082., 1542471., 1546860., 1551249., 1555638., 1560027., 1564416.,
      1503187., 1507590., 1511993., 1516396., 1520799., 1525202., 1529605.,
      1534008., 1538411., 1542814., 1547217., 1551620., 1556023., 1560426.,
      1564829., 1569232., 1507793., 1512210., 1516627., 1521044., 1525461.,
      1529878., 1534295., 1538712., 1543129., 1547546., 1551963., 1556380.,
      1560797., 1565214., 1569631., 1574048., 1512399., 1516830., 1521261.,
      1525692., 1530123., 1534554., 1538985., 1543416., 1547847., 1552278.,
      1556709., 1561140., 1565571., 1570002., 1574433., 1578864., 1517005.,
      1521450., 1525895., 1530340., 1534785., 1539230., 1543675., 1548120.,
      1552565., 1557010., 1561455., 1565900., 1570345., 1574790., 1579235.,
      1583680., 1521611., 1526070., 1530529., 1534988., 1539447., 1543906.,
      1548365., 1552824., 1557283., 1561742., 1566201., 1570660., 1575119.,
      1579578., 1584037., 1588496., 1526217., 1530690., 1535163., 1539636.,
      1544109., 1548582., 1553055., 1557528., 1562001., 1566474., 1570947.,
      1575420., 1579893., 1584366., 1588839., 1593312., 1530823., 1535310.,
      1539797., 1544284., 1548771., 1553258., 1557745., 1562232., 1566719.,
      1571206., 1575693., 1580180., 1584667., 1589154., 1593641., 1598128.,
      1535429., 1539930., 1544431., 1548932., 1553433., 1557934., 1562435.,
      1566936., 1571437., 1575938., 1580439., 1584940., 1589441., 1593942.,
      1598443., 1602944., 1540035., 1544550., 1549065., 1553580., 1558095.,
      1562610., 1567125., 1571640., 1576155., 1580670., 1585185., 1589700.,
      1594215., 1598730., 1603245., 1607760., 4068827., 4076086., 4083345.,
      4090604., 4097863., 4105122., 4112381., 4119640., 4126899., 4134158.,
      4141417., 4148676., 4155935., 4163194., 4170453., 4177712., 4076569.,
      4083842., 4091115., 4098388., 4105661., 4112934., 4120207., 4127480.,
      4134753., 4142026., 4149299., 4156572., 4163845., 4171118., 4178391.,
      4185664., 4084311., 4091598., 4098885., 4106172., 4113459., 4120746.,
      4128033., 4135320., 4142607., 4149894., 4157181., 4164468., 4171755.,
      4179042., 4186329., 4193616., 4092053., 4099354., 4106655., 4113956.,
      4121257., 4128558., 4135859., 4143160., 4150461., 4157762., 4165063.,
      4172364., 4179665., 4186966., 4194267., 4201568., 4099795., 4107110.,
      4114425., 4121740., 4129055., 4136370., 4143685., 4151000., 4158315.,
      4165630., 4172945., 4180260., 4187575., 4194890., 4202205., 4209520.,
      4107537., 4114866., 4122195., 4129524., 4136853., 4144182., 4151511.,
      4158840., 4166169., 4173498., 4180827., 4188156., 4195485., 4202814.,
      4210143., 4217472., 4115279., 4122622., 4129965., 4137308., 4144651.,
      4151994., 4159337., 4166680., 4174023., 4181366., 4188709., 4196052.,
      4203395., 4210738., 4218081., 4225424., 4123021., 4130378., 4137735.,
      4145092., 4152449., 4159806., 4167163., 4174520., 4181877., 4189234.,
      4196591., 4203948., 4211305., 4218662., 4226019., 4233376., 4130763.,
      4138134., 4145505., 4152876., 4160247., 4167618., 4174989., 4182360.,
      4189731., 4197102., 4204473., 4211844., 4219215., 4226586., 4233957.,
      4241328., 4138505., 4145890., 4153275., 4160660., 4168045., 4175430.,
      4182815., 4190200., 4197585., 4204970., 4212355., 4219740., 4227125.,
      4234510., 4241895., 4249280., 4146247., 4153646., 4161045., 4168444.,
      4175843., 4183242., 4190641., 4198040., 4205439., 4212838., 4220237.,
      4227636., 4235035., 4242434., 4249833., 4257232., 4153989., 4161402.,
      4168815., 4176228., 4183641., 4191054., 4198467., 4205880., 4213293.,
      4220706., 4228119., 4235532., 4242945., 4250358., 4257771., 4265184.,
      4161731., 4169158., 4176585., 4184012., 4191439., 4198866., 4206293.,
      4213720., 4221147., 4228574., 4236001., 4243428., 4250855., 4258282.,
      4265709., 4273136., 4169473., 4176914., 4184355., 4191796., 4199237.,
      4206678., 4214119., 4221560., 4229001., 4236442., 4243883., 4251324.,
      4258765., 4266206., 4273647., 4281088., 4177215., 4184670., 4192125.,
      4199580., 4207035., 4214490., 4221945., 4229400., 4236855., 4244310.,
      4251765., 4259220., 4266675., 4274130., 4281585., 4289040.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      216210.,  217800.,  219390.,  220980.,  222570.,  224160.,  225750.,
      227340.,  228930.,  230520.,  232110.,  233700.,  235290.,  236880.,
      217695.,  219300.,  220905.,  222510.,  224115.,  225720.,  227325.,
      228930.,  230535.,  232140.,  233745.,  235350.,  236955.,  238560.,
      219180.,  220800.,  222420.,  224040.,  225660.,  227280.,  228900.,
      230520.,  232140.,  233760.,  235380.,  237000.,  238620.,  240240.,
      220665.,  222300.,  223935.,  225570.,  227205.,  228840.,  230475.,
      232110.,  233745.,  235380.,  237015.,  238650.,  240285.,  241920.,
      222150.,  223800.,  225450.,  227100.,  228750.,  230400.,  232050.,
      233700.,  235350.,  237000.,  238650.,  240300.,  241950.,  243600.,
      223635.,  225300.,  226965.,  228630.,  230295.,  231960.,  233625.,
      235290.,  236955.,  238620.,  240285.,  241950.,  243615.,  245280.,
      225120.,  226800.,  228480.,  230160.,  231840.,  233520.,  235200.,
      236880.,  238560.,  240240.,  241920.,  243600.,  245280.,  246960.,
      226605.,  228300.,  229995.,  231690.,  233385.,  235080.,  236775.,
      238470.,  240165.,  241860.,  243555.,  245250.,  246945.,  248640.,
      228090.,  229800.,  231510.,  233220.,  234930.,  236640.,  238350.,
      240060.,  241770.,  243480.,  245190.,  246900.,  248610.,  250320.,
      229575.,  231300.,  233025.,  234750.,  236475.,  238200.,  239925.,
      241650.,  243375.,  245100.,  246825.,  248550.,  250275.,  252000.,
      231060.,  232800.,  234540.,  236280.,  238020.,  239760.,  241500.,
      243240.,  244980.,  246720.,  248460.,  250200.,  251940.,  253680.,
      232545.,  234300.,  236055.,  237810.,  239565.,  241320.,  243075.,
      244830.,  246585.,  248340.,  250095.,  251850.,  253605.,  255360.,
      234030.,  235800.,  237570.,  239340.,  241110.,  242880.,  244650.,
      246420.,  248190.,  249960.,  251730.,  253500.,  255270.,  257040.,
      235515.,  237300.,  239085.,  240870.,  242655.,  244440.,  246225.,
      248010.,  249795.,  251580.,  253365.,  255150.,  256935.,  258720.,
      237000.,  238800.,  240600.,  242400.,  244200.,  246000.,  247800.,
      249600.,  251400.,  253200.,  255000.,  256800.,  258600.,  260400.,
      1592985., 1597950., 1602915., 1607880., 1612845., 1617810., 1622775.,
      1627740., 1632705., 1637670., 1642635., 1647600., 1652565., 1657530.,
      1597620., 1602600., 1607580., 1612560., 1617540., 1622520., 1627500.,
      1632480., 1637460., 1642440., 1647420., 1652400., 1657380., 1662360.,
      1602255., 1607250., 1612245., 1617240., 1622235., 1627230., 1632225.,
      1637220., 1642215., 1647210., 1652205., 1657200., 1662195., 1667190.,
      1606890., 1611900., 1616910., 1621920., 1626930., 1631940., 1636950.,
      1641960., 1646970., 1651980., 1656990., 1662000., 1667010., 1672020.,
      1611525., 1616550., 1621575., 1626600., 1631625., 1636650., 1641675.,
      1646700., 1651725., 1656750., 1661775., 1666800., 1671825., 1676850.,
      1616160., 1621200., 1626240., 1631280., 1636320., 1641360., 1646400.,
      1651440., 1656480., 1661520., 1666560., 1671600., 1676640., 1681680.,
      1620795., 1625850., 1630905., 1635960., 1641015., 1646070., 1651125.,
      1656180., 1661235., 1666290., 1671345., 1676400., 1681455., 1686510.,
      1625430., 1630500., 1635570., 1640640., 1645710., 1650780., 1655850.,
      1660920., 1665990., 1671060., 1676130., 1681200., 1686270., 1691340.,
      1630065., 1635150., 1640235., 1645320., 1650405., 1655490., 1660575.,
      1665660., 1670745., 1675830., 1680915., 1686000., 1691085., 1696170.,
      1634700., 1639800., 1644900., 1650000., 1655100., 1660200., 1665300.,
      1670400., 1675500., 1680600., 1685700., 1690800., 1695900., 1701000.,
      1639335., 1644450., 1649565., 1654680., 1659795., 1664910., 1670025.,
      1675140., 1680255., 1685370., 1690485., 1695600., 1700715., 1705830.,
      1643970., 1649100., 1654230., 1659360., 1664490., 1669620., 1674750.,
      1679880., 1685010., 1690140., 1695270., 1700400., 1705530., 1710660.,
      1648605., 1653750., 1658895., 1664040., 1669185., 1674330., 1679475.,
      1684620., 1689765., 1694910., 1700055., 1705200., 1710345., 1715490.,
      1653240., 1658400., 1663560., 1668720., 1673880., 1679040., 1684200.,
      1689360., 1694520., 1699680., 1704840., 1710000., 1715160., 1720320.,
      1657875., 1663050., 1668225., 1673400., 1678575., 1683750., 1688925.,
      1694100., 1699275., 1704450., 1709625., 1714800., 1719975., 1725150.,
      4387260., 4395600., 4403940., 4412280., 4420620., 4428960., 4437300.,
      4445640., 4453980., 4462320., 4470660., 4479000., 4487340., 4495680.,
      4395045., 4403400., 4411755., 4420110., 4428465., 4436820., 4445175.,
      4453530., 4461885., 4470240., 4478595., 4486950., 4495305., 4503660.,
      4402830., 4411200., 4419570., 4427940., 4436310., 4444680., 4453050.,
      4461420., 4469790., 4478160., 4486530., 4494900., 4503270., 4511640.,
      4410615., 4419000., 4427385., 4435770., 4444155., 4452540., 4460925.,
      4469310., 4477695., 4486080., 4494465., 4502850., 4511235., 4519620.,
      4418400., 4426800., 4435200., 4443600., 4452000., 4460400., 4468800.,
      4477200., 4485600., 4494000., 4502400., 4510800., 4519200., 4527600.,
      4426185., 4434600., 4443015., 4451430., 4459845., 4468260., 4476675.,
      4485090., 4493505., 4501920., 4510335., 4518750., 4527165., 4535580.,
      4433970., 4442400., 4450830., 4459260., 4467690., 4476120., 4484550.,
      4492980., 4501410., 4509840., 4518270., 4526700., 4535130., 4543560.,
      4441755., 4450200., 4458645., 4467090., 4475535., 4483980., 4492425.,
      4500870., 4509315., 4517760., 4526205., 4534650., 4543095., 4551540.,
      4449540., 4458000., 4466460., 4474920., 4483380., 4491840., 4500300.,
      4508760., 4517220., 4525680., 4534140., 4542600., 4551060., 4559520.,
      4457325., 4465800., 4474275., 4482750., 4491225., 4499700., 4508175.,
      4516650., 4525125., 4533600., 4542075., 4550550., 4559025., 4567500.,
      4465110., 4473600., 4482090., 4490580., 4499070., 4507560., 4516050.,
      4524540., 4533030., 4541520., 4550010., 4558500., 4566990., 4575480.,
      4472895., 4481400., 4489905., 4498410., 4506915., 4515420., 4523925.,
      4532430., 4540935., 4549440., 4557945., 4566450., 4574955., 4583460.,
      4480680., 4489200., 4497720., 4506240., 4514760., 4523280., 4531800.,
      4540320., 4548840., 4557360., 4565880., 4574400., 4582920., 4591440.,
      4488465., 4497000., 4505535., 4514070., 4522605., 4531140., 4539675.,
      4548210., 4556745., 4565280., 4573815., 4582350., 4590885., 4599420.,
      4496250., 4504800., 4513350., 4521900., 4530450., 4539000., 4547550.,
      4556100., 4564650., 4573200., 4581750., 4590300., 4598850., 4607400.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      231540.,  233130.,  234720.,  236310.,  237900.,  239490.,  241080.,
      242670.,  244260.,  245850.,  247440.,  249030.,  250620.,  252210.,
      253800.,  233130.,  234735.,  236340.,  237945.,  239550.,  241155.,
      242760.,  244365.,  245970.,  247575.,  249180.,  250785.,  252390.,
      253995.,  255600.,  234720.,  236340.,  237960.,  239580.,  241200.,
      242820.,  244440.,  246060.,  247680.,  249300.,  250920.,  252540.,
      254160.,  255780.,  257400.,  236310.,  237945.,  239580.,  241215.,
      242850.,  244485.,  246120.,  247755.,  249390.,  251025.,  252660.,
      254295.,  255930.,  257565.,  259200.,  237900.,  239550.,  241200.,
      242850.,  244500.,  246150.,  247800.,  249450.,  251100.,  252750.,
      254400.,  256050.,  257700.,  259350.,  261000.,  239490.,  241155.,
      242820.,  244485.,  246150.,  247815.,  249480.,  251145.,  252810.,
      254475.,  256140.,  257805.,  259470.,  261135.,  262800.,  241080.,
      242760.,  244440.,  246120.,  247800.,  249480.,  251160.,  252840.,
      254520.,  256200.,  257880.,  259560.,  261240.,  262920.,  264600.,
      242670.,  244365.,  246060.,  247755.,  249450.,  251145.,  252840.,
      254535.,  256230.,  257925.,  259620.,  261315.,  263010.,  264705.,
      266400.,  244260.,  245970.,  247680.,  249390.,  251100.,  252810.,
      254520.,  256230.,  257940.,  259650.,  261360.,  263070.,  264780.,
      266490.,  268200.,  245850.,  247575.,  249300.,  251025.,  252750.,
      254475.,  256200.,  257925.,  259650.,  261375.,  263100.,  264825.,
      266550.,  268275.,  270000.,  247440.,  249180.,  250920.,  252660.,
      254400.,  256140.,  257880.,  259620.,  261360.,  263100.,  264840.,
      266580.,  268320.,  270060.,  271800.,  249030.,  250785.,  252540.,
      254295.,  256050.,  257805.,  259560.,  261315.,  263070.,  264825.,
      266580.,  268335.,  270090.,  271845.,  273600.,  250620.,  252390.,
      254160.,  255930.,  257700.,  259470.,  261240.,  263010.,  264780.,
      266550.,  268320.,  270090.,  271860.,  273630.,  275400.,  252210.,
      253995.,  255780.,  257565.,  259350.,  261135.,  262920.,  264705.,
      266490.,  268275.,  270060.,  271845.,  273630.,  275415.,  277200.,
      253800.,  255600.,  257400.,  259200.,  261000.,  262800.,  264600.,
      266400.,  268200.,  270000.,  271800.,  273600.,  275400.,  277200.,
      279000.,  1706415., 1711380., 1716345., 1721310., 1726275., 1731240.,
      1736205., 1741170., 1746135., 1751100., 1756065., 1761030., 1765995.,
      1770960., 1775925., 1711380., 1716360., 1721340., 1726320., 1731300.,
      1736280., 1741260., 1746240., 1751220., 1756200., 1761180., 1766160.,
      1771140., 1776120., 1781100., 1716345., 1721340., 1726335., 1731330.,
      1736325., 1741320., 1746315., 1751310., 1756305., 1761300., 1766295.,
      1771290., 1776285., 1781280., 1786275., 1721310., 1726320., 1731330.,
      1736340., 1741350., 1746360., 1751370., 1756380., 1761390., 1766400.,
      1771410., 1776420., 1781430., 1786440., 1791450., 1726275., 1731300.,
      1736325., 1741350., 1746375., 1751400., 1756425., 1761450., 1766475.,
      1771500., 1776525., 1781550., 1786575., 1791600., 1796625., 1731240.,
      1736280., 1741320., 1746360., 1751400., 1756440., 1761480., 1766520.,
      1771560., 1776600., 1781640., 1786680., 1791720., 1796760., 1801800.,
      1736205., 1741260., 1746315., 1751370., 1756425., 1761480., 1766535.,
      1771590., 1776645., 1781700., 1786755., 1791810., 1796865., 1801920.,
      1806975., 1741170., 1746240., 1751310., 1756380., 1761450., 1766520.,
      1771590., 1776660., 1781730., 1786800., 1791870., 1796940., 1802010.,
      1807080., 1812150., 1746135., 1751220., 1756305., 1761390., 1766475.,
      1771560., 1776645., 1781730., 1786815., 1791900., 1796985., 1802070.,
      1807155., 1812240., 1817325., 1751100., 1756200., 1761300., 1766400.,
      1771500., 1776600., 1781700., 1786800., 1791900., 1797000., 1802100.,
      1807200., 1812300., 1817400., 1822500., 1756065., 1761180., 1766295.,
      1771410., 1776525., 1781640., 1786755., 1791870., 1796985., 1802100.,
      1807215., 1812330., 1817445., 1822560., 1827675., 1761030., 1766160.,
      1771290., 1776420., 1781550., 1786680., 1791810., 1796940., 1802070.,
      1807200., 1812330., 1817460., 1822590., 1827720., 1832850., 1765995.,
      1771140., 1776285., 1781430., 1786575., 1791720., 1796865., 1802010.,
      1807155., 1812300., 1817445., 1822590., 1827735., 1832880., 1838025.,
      1770960., 1776120., 1781280., 1786440., 1791600., 1796760., 1801920.,
      1807080., 1812240., 1817400., 1822560., 1827720., 1832880., 1838040.,
      1843200., 1775925., 1781100., 1786275., 1791450., 1796625., 1801800.,
      1806975., 1812150., 1817325., 1822500., 1827675., 1832850., 1838025.,
      1843200., 1848375., 4700040., 4708380., 4716720., 4725060., 4733400.,
      4741740., 4750080., 4758420., 4766760., 4775100., 4783440., 4791780.,
      4800120., 4808460., 4816800., 4708380., 4716735., 4725090., 4733445.,
      4741800., 4750155., 4758510., 4766865., 4775220., 4783575., 4791930.,
      4800285., 4808640., 4816995., 4825350., 4716720., 4725090., 4733460.,
      4741830., 4750200., 4758570., 4766940., 4775310., 4783680., 4792050.,
      4800420., 4808790., 4817160., 4825530., 4833900., 4725060., 4733445.,
      4741830., 4750215., 4758600., 4766985., 4775370., 4783755., 4792140.,
      4800525., 4808910., 4817295., 4825680., 4834065., 4842450., 4733400.,
      4741800., 4750200., 4758600., 4767000., 4775400., 4783800., 4792200.,
      4800600., 4809000., 4817400., 4825800., 4834200., 4842600., 4851000.,
      4741740., 4750155., 4758570., 4766985., 4775400., 4783815., 4792230.,
      4800645., 4809060., 4817475., 4825890., 4834305., 4842720., 4851135.,
      4859550., 4750080., 4758510., 4766940., 4775370., 4783800., 4792230.,
      4800660., 4809090., 4817520., 4825950., 4834380., 4842810., 4851240.,
      4859670., 4868100., 4758420., 4766865., 4775310., 4783755., 4792200.,
      4800645., 4809090., 4817535., 4825980., 4834425., 4842870., 4851315.,
      4859760., 4868205., 4876650., 4766760., 4775220., 4783680., 4792140.,
      4800600., 4809060., 4817520., 4825980., 4834440., 4842900., 4851360.,
      4859820., 4868280., 4876740., 4885200., 4775100., 4783575., 4792050.,
      4800525., 4809000., 4817475., 4825950., 4834425., 4842900., 4851375.,
      4859850., 4868325., 4876800., 4885275., 4893750., 4783440., 4791930.,
      4800420., 4808910., 4817400., 4825890., 4834380., 4842870., 4851360.,
      4859850., 4868340., 4876830., 4885320., 4893810., 4902300., 4791780.,
      4800285., 4808790., 4817295., 4825800., 4834305., 4842810., 4851315.,
      4859820., 4868325., 4876830., 4885335., 4893840., 4902345., 4910850.,
      4800120., 4808640., 4817160., 4825680., 4834200., 4842720., 4851240.,
      4859760., 4868280., 4876800., 4885320., 4893840., 4902360., 4910880.,
      4919400., 4808460., 4816995., 4825530., 4834065., 4842600., 4851135.,
      4859670., 4868205., 4876740., 4885275., 4893810., 4902345., 4910880.,
      4919415., 4927950., 4816800., 4825350., 4833900., 4842450., 4851000.,
      4859550., 4868100., 4876650., 4885200., 4893750., 4902300., 4910850.,
      4919400., 4927950., 4936500.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      246870.,  248460.,  250050.,  251640.,  253230.,  254820.,  256410.,
      258000.,  259590.,  261180.,  262770.,  264360.,  265950.,  267540.,
      269130.,  270720.,  248565.,  250170.,  251775.,  253380.,  254985.,
      256590.,  258195.,  259800.,  261405.,  263010.,  264615.,  266220.,
      267825.,  269430.,  271035.,  272640.,  250260.,  251880.,  253500.,
      255120.,  256740.,  258360.,  259980.,  261600.,  263220.,  264840.,
      266460.,  268080.,  269700.,  271320.,  272940.,  274560.,  251955.,
      253590.,  255225.,  256860.,  258495.,  260130.,  261765.,  263400.,
      265035.,  266670.,  268305.,  269940.,  271575.,  273210.,  274845.,
      276480.,  253650.,  255300.,  256950.,  258600.,  260250.,  261900.,
      263550.,  265200.,  266850.,  268500.,  270150.,  271800.,  273450.,
      275100.,  276750.,  278400.,  255345.,  257010.,  258675.,  260340.,
      262005.,  263670.,  265335.,  267000.,  268665.,  270330.,  271995.,
      273660.,  275325.,  276990.,  278655.,  280320.,  257040.,  258720.,
      260400.,  262080.,  263760.,  265440.,  267120.,  268800.,  270480.,
      272160.,  273840.,  275520.,  277200.,  278880.,  280560.,  282240.,
      258735.,  260430.,  262125.,  263820.,  265515.,  267210.,  268905.,
      270600.,  272295.,  273990.,  275685.,  277380.,  279075.,  280770.,
      282465.,  284160.,  260430.,  262140.,  263850.,  265560.,  267270.,
      268980.,  270690.,  272400.,  274110.,  275820.,  277530.,  279240.,
      280950.,  282660.,  284370.,  286080.,  262125.,  263850.,  265575.,
      267300.,  269025.,  270750.,  272475.,  274200.,  275925.,  277650.,
      279375.,  281100.,  282825.,  284550.,  286275.,  288000.,  263820.,
      265560.,  267300.,  269040.,  270780.,  272520.,  274260.,  276000.,
      277740.,  279480.,  281220.,  282960.,  284700.,  286440.,  288180.,
      289920.,  265515.,  267270.,  269025.,  270780.,  272535.,  274290.,
      276045.,  277800.,  279555.,  281310.,  283065.,  284820.,  286575.,
      288330.,  290085.,  291840.,  267210.,  268980.,  270750.,  272520.,
      274290.,  276060.,  277830.,  279600.,  281370.,  283140.,  284910.,
      286680.,  288450.,  290220.,  291990.,  293760.,  268905.,  270690.,
      272475.,  274260.,  276045.,  277830.,  279615.,  281400.,  283185.,
      284970.,  286755.,  288540.,  290325.,  292110.,  293895.,  295680.,
      270600.,  272400.,  274200.,  276000.,  277800.,  279600.,  281400.,
      283200.,  285000.,  286800.,  288600.,  290400.,  292200.,  294000.,
      295800.,  297600.,  1819845., 1824810., 1829775., 1834740., 1839705.,
      1844670., 1849635., 1854600., 1859565., 1864530., 1869495., 1874460.,
      1879425., 1884390., 1889355., 1894320., 1825140., 1830120., 1835100.,
      1840080., 1845060., 1850040., 1855020., 1860000., 1864980., 1869960.,
      1874940., 1879920., 1884900., 1889880., 1894860., 1899840., 1830435.,
      1835430., 1840425., 1845420., 1850415., 1855410., 1860405., 1865400.,
      1870395., 1875390., 1880385., 1885380., 1890375., 1895370., 1900365.,
      1905360., 1835730., 1840740., 1845750., 1850760., 1855770., 1860780.,
      1865790., 1870800., 1875810., 1880820., 1885830., 1890840., 1895850.,
      1900860., 1905870., 1910880., 1841025., 1846050., 1851075., 1856100.,
      1861125., 1866150., 1871175., 1876200., 1881225., 1886250., 1891275.,
      1896300., 1901325., 1906350., 1911375., 1916400., 1846320., 1851360.,
      1856400., 1861440., 1866480., 1871520., 1876560., 1881600., 1886640.,
      1891680., 1896720., 1901760., 1906800., 1911840., 1916880., 1921920.,
      1851615., 1856670., 1861725., 1866780., 1871835., 1876890., 1881945.,
      1887000., 1892055., 1897110., 1902165., 1907220., 1912275., 1917330.,
      1922385., 1927440., 1856910., 1861980., 1867050., 1872120., 1877190.,
      1882260., 1887330., 1892400., 1897470., 1902540., 1907610., 1912680.,
      1917750., 1922820., 1927890., 1932960., 1862205., 1867290., 1872375.,
      1877460., 1882545., 1887630., 1892715., 1897800., 1902885., 1907970.,
      1913055., 1918140., 1923225., 1928310., 1933395., 1938480., 1867500.,
      1872600., 1877700., 1882800., 1887900., 1893000., 1898100., 1903200.,
      1908300., 1913400., 1918500., 1923600., 1928700., 1933800., 1938900.,
      1944000., 1872795., 1877910., 1883025., 1888140., 1893255., 1898370.,
      1903485., 1908600., 1913715., 1918830., 1923945., 1929060., 1934175.,
      1939290., 1944405., 1949520., 1878090., 1883220., 1888350., 1893480.,
      1898610., 1903740., 1908870., 1914000., 1919130., 1924260., 1929390.,
      1934520., 1939650., 1944780., 1949910., 1955040., 1883385., 1888530.,
      1893675., 1898820., 1903965., 1909110., 1914255., 1919400., 1924545.,
      1929690., 1934835., 1939980., 1945125., 1950270., 1955415., 1960560.,
      1888680., 1893840., 1899000., 1904160., 1909320., 1914480., 1919640.,
      1924800., 1929960., 1935120., 1940280., 1945440., 1950600., 1955760.,
      1960920., 1966080., 1893975., 1899150., 1904325., 1909500., 1914675.,
      1919850., 1925025., 1930200., 1935375., 1940550., 1945725., 1950900.,
      1956075., 1961250., 1966425., 1971600., 5012820., 5021160., 5029500.,
      5037840., 5046180., 5054520., 5062860., 5071200., 5079540., 5087880.,
      5096220., 5104560., 5112900., 5121240., 5129580., 5137920., 5021715.,
      5030070., 5038425., 5046780., 5055135., 5063490., 5071845., 5080200.,
      5088555., 5096910., 5105265., 5113620., 5121975., 5130330., 5138685.,
      5147040., 5030610., 5038980., 5047350., 5055720., 5064090., 5072460.,
      5080830., 5089200., 5097570., 5105940., 5114310., 5122680., 5131050.,
      5139420., 5147790., 5156160., 5039505., 5047890., 5056275., 5064660.,
      5073045., 5081430., 5089815., 5098200., 5106585., 5114970., 5123355.,
      5131740., 5140125., 5148510., 5156895., 5165280., 5048400., 5056800.,
      5065200., 5073600., 5082000., 5090400., 5098800., 5107200., 5115600.,
      5124000., 5132400., 5140800., 5149200., 5157600., 5166000., 5174400.,
      5057295., 5065710., 5074125., 5082540., 5090955., 5099370., 5107785.,
      5116200., 5124615., 5133030., 5141445., 5149860., 5158275., 5166690.,
      5175105., 5183520., 5066190., 5074620., 5083050., 5091480., 5099910.,
      5108340., 5116770., 5125200., 5133630., 5142060., 5150490., 5158920.,
      5167350., 5175780., 5184210., 5192640., 5075085., 5083530., 5091975.,
      5100420., 5108865., 5117310., 5125755., 5134200., 5142645., 5151090.,
      5159535., 5167980., 5176425., 5184870., 5193315., 5201760., 5083980.,
      5092440., 5100900., 5109360., 5117820., 5126280., 5134740., 5143200.,
      5151660., 5160120., 5168580., 5177040., 5185500., 5193960., 5202420.,
      5210880., 5092875., 5101350., 5109825., 5118300., 5126775., 5135250.,
      5143725., 5152200., 5160675., 5169150., 5177625., 5186100., 5194575.,
      5203050., 5211525., 5220000., 5101770., 5110260., 5118750., 5127240.,
      5135730., 5144220., 5152710., 5161200., 5169690., 5178180., 5186670.,
      5195160., 5203650., 5212140., 5220630., 5229120., 5110665., 5119170.,
      5127675., 5136180., 5144685., 5153190., 5161695., 5170200., 5178705.,
      5187210., 5195715., 5204220., 5212725., 5221230., 5229735., 5238240.,
      5119560., 5128080., 5136600., 5145120., 5153640., 5162160., 5170680.,
      5179200., 5187720., 5196240., 5204760., 5213280., 5221800., 5230320.,
      5238840., 5247360., 5128455., 5136990., 5145525., 5154060., 5162595.,
      5171130., 5179665., 5188200., 5196735., 5205270., 5213805., 5222340.,
      5230875., 5239410., 5247945., 5256480., 5137350., 5145900., 5154450.,
      5163000., 5171550., 5180100., 5188650., 5197200., 5205750., 5214300.,
      5222850., 5231400., 5239950., 5248500., 5257050., 5265600.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      263896.,  265712.,  267528.,  269344.,  271160.,  272976.,  274792.,
      276608.,  278424.,  280240.,  282056.,  283872.,  285688.,  287504.,
      265592.,  267424.,  269256.,  271088.,  272920.,  274752.,  276584.,
      278416.,  280248.,  282080.,  283912.,  285744.,  287576.,  289408.,
      267288.,  269136.,  270984.,  272832.,  274680.,  276528.,  278376.,
      280224.,  282072.,  283920.,  285768.,  287616.,  289464.,  291312.,
      268984.,  270848.,  272712.,  274576.,  276440.,  278304.,  280168.,
      282032.,  283896.,  285760.,  287624.,  289488.,  291352.,  293216.,
      270680.,  272560.,  274440.,  276320.,  278200.,  280080.,  281960.,
      283840.,  285720.,  287600.,  289480.,  291360.,  293240.,  295120.,
      272376.,  274272.,  276168.,  278064.,  279960.,  281856.,  283752.,
      285648.,  287544.,  289440.,  291336.,  293232.,  295128.,  297024.,
      274072.,  275984.,  277896.,  279808.,  281720.,  283632.,  285544.,
      287456.,  289368.,  291280.,  293192.,  295104.,  297016.,  298928.,
      275768.,  277696.,  279624.,  281552.,  283480.,  285408.,  287336.,
      289264.,  291192.,  293120.,  295048.,  296976.,  298904.,  300832.,
      277464.,  279408.,  281352.,  283296.,  285240.,  287184.,  289128.,
      291072.,  293016.,  294960.,  296904.,  298848.,  300792.,  302736.,
      279160.,  281120.,  283080.,  285040.,  287000.,  288960.,  290920.,
      292880.,  294840.,  296800.,  298760.,  300720.,  302680.,  304640.,
      280856.,  282832.,  284808.,  286784.,  288760.,  290736.,  292712.,
      294688.,  296664.,  298640.,  300616.,  302592.,  304568.,  306544.,
      282552.,  284544.,  286536.,  288528.,  290520.,  292512.,  294504.,
      296496.,  298488.,  300480.,  302472.,  304464.,  306456.,  308448.,
      284248.,  286256.,  288264.,  290272.,  292280.,  294288.,  296296.,
      298304.,  300312.,  302320.,  304328.,  306336.,  308344.,  310352.,
      285944.,  287968.,  289992.,  292016.,  294040.,  296064.,  298088.,
      300112.,  302136.,  304160.,  306184.,  308208.,  310232.,  312256.,
      287640.,  289680.,  291720.,  293760.,  295800.,  297840.,  299880.,
      301920.,  303960.,  306000.,  308040.,  310080.,  312120.,  314160.,
      1937880., 1943536., 1949192., 1954848., 1960504., 1966160., 1971816.,
      1977472., 1983128., 1988784., 1994440., 2000096., 2005752., 2011408.,
      1943160., 1948832., 1954504., 1960176., 1965848., 1971520., 1977192.,
      1982864., 1988536., 1994208., 1999880., 2005552., 2011224., 2016896.,
      1948440., 1954128., 1959816., 1965504., 1971192., 1976880., 1982568.,
      1988256., 1993944., 1999632., 2005320., 2011008., 2016696., 2022384.,
      1953720., 1959424., 1965128., 1970832., 1976536., 1982240., 1987944.,
      1993648., 1999352., 2005056., 2010760., 2016464., 2022168., 2027872.,
      1959000., 1964720., 1970440., 1976160., 1981880., 1987600., 1993320.,
      1999040., 2004760., 2010480., 2016200., 2021920., 2027640., 2033360.,
      1964280., 1970016., 1975752., 1981488., 1987224., 1992960., 1998696.,
      2004432., 2010168., 2015904., 2021640., 2027376., 2033112., 2038848.,
      1969560., 1975312., 1981064., 1986816., 1992568., 1998320., 2004072.,
      2009824., 2015576., 2021328., 2027080., 2032832., 2038584., 2044336.,
      1974840., 1980608., 1986376., 1992144., 1997912., 2003680., 2009448.,
      2015216., 2020984., 2026752., 2032520., 2038288., 2044056., 2049824.,
      1980120., 1985904., 1991688., 1997472., 2003256., 2009040., 2014824.,
      2020608., 2026392., 2032176., 2037960., 2043744., 2049528., 2055312.,
      1985400., 1991200., 1997000., 2002800., 2008600., 2014400., 2020200.,
      2026000., 2031800., 2037600., 2043400., 2049200., 2055000., 2060800.,
      1990680., 1996496., 2002312., 2008128., 2013944., 2019760., 2025576.,
      2031392., 2037208., 2043024., 2048840., 2054656., 2060472., 2066288.,
      1995960., 2001792., 2007624., 2013456., 2019288., 2025120., 2030952.,
      2036784., 2042616., 2048448., 2054280., 2060112., 2065944., 2071776.,
      2001240., 2007088., 2012936., 2018784., 2024632., 2030480., 2036328.,
      2042176., 2048024., 2053872., 2059720., 2065568., 2071416., 2077264.,
      2006520., 2012384., 2018248., 2024112., 2029976., 2035840., 2041704.,
      2047568., 2053432., 2059296., 2065160., 2071024., 2076888., 2082752.,
      2011800., 2017680., 2023560., 2029440., 2035320., 2041200., 2047080.,
      2052960., 2058840., 2064720., 2070600., 2076480., 2082360., 2088240.,
      5332184., 5341680., 5351176., 5360672., 5370168., 5379664., 5389160.,
      5398656., 5408152., 5417648., 5427144., 5436640., 5446136., 5455632.,
      5341048., 5350560., 5360072., 5369584., 5379096., 5388608., 5398120.,
      5407632., 5417144., 5426656., 5436168., 5445680., 5455192., 5464704.,
      5349912., 5359440., 5368968., 5378496., 5388024., 5397552., 5407080.,
      5416608., 5426136., 5435664., 5445192., 5454720., 5464248., 5473776.,
      5358776., 5368320., 5377864., 5387408., 5396952., 5406496., 5416040.,
      5425584., 5435128., 5444672., 5454216., 5463760., 5473304., 5482848.,
      5367640., 5377200., 5386760., 5396320., 5405880., 5415440., 5425000.,
      5434560., 5444120., 5453680., 5463240., 5472800., 5482360., 5491920.,
      5376504., 5386080., 5395656., 5405232., 5414808., 5424384., 5433960.,
      5443536., 5453112., 5462688., 5472264., 5481840., 5491416., 5500992.,
      5385368., 5394960., 5404552., 5414144., 5423736., 5433328., 5442920.,
      5452512., 5462104., 5471696., 5481288., 5490880., 5500472., 5510064.,
      5394232., 5403840., 5413448., 5423056., 5432664., 5442272., 5451880.,
      5461488., 5471096., 5480704., 5490312., 5499920., 5509528., 5519136.,
      5403096., 5412720., 5422344., 5431968., 5441592., 5451216., 5460840.,
      5470464., 5480088., 5489712., 5499336., 5508960., 5518584., 5528208.,
      5411960., 5421600., 5431240., 5440880., 5450520., 5460160., 5469800.,
      5479440., 5489080., 5498720., 5508360., 5518000., 5527640., 5537280.,
      5420824., 5430480., 5440136., 5449792., 5459448., 5469104., 5478760.,
      5488416., 5498072., 5507728., 5517384., 5527040., 5536696., 5546352.,
      5429688., 5439360., 5449032., 5458704., 5468376., 5478048., 5487720.,
      5497392., 5507064., 5516736., 5526408., 5536080., 5545752., 5555424.,
      5438552., 5448240., 5457928., 5467616., 5477304., 5486992., 5496680.,
      5506368., 5516056., 5525744., 5535432., 5545120., 5554808., 5564496.,
      5447416., 5457120., 5466824., 5476528., 5486232., 5495936., 5505640.,
      5515344., 5525048., 5534752., 5544456., 5554160., 5563864., 5573568.,
      5456280., 5466000., 5475720., 5485440., 5495160., 5504880., 5514600.,
      5524320., 5534040., 5543760., 5553480., 5563200., 5572920., 5582640.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      282616.,  284432.,  286248.,  288064.,  289880.,  291696.,  293512.,
      295328.,  297144.,  298960.,  300776.,  302592.,  304408.,  306224.,
      308040.,  284432.,  286264.,  288096.,  289928.,  291760.,  293592.,
      295424.,  297256.,  299088.,  300920.,  302752.,  304584.,  306416.,
      308248.,  310080.,  286248.,  288096.,  289944.,  291792.,  293640.,
      295488.,  297336.,  299184.,  301032.,  302880.,  304728.,  306576.,
      308424.,  310272.,  312120.,  288064.,  289928.,  291792.,  293656.,
      295520.,  297384.,  299248.,  301112.,  302976.,  304840.,  306704.,
      308568.,  310432.,  312296.,  314160.,  289880.,  291760.,  293640.,
      295520.,  297400.,  299280.,  301160.,  303040.,  304920.,  306800.,
      308680.,  310560.,  312440.,  314320.,  316200.,  291696.,  293592.,
      295488.,  297384.,  299280.,  301176.,  303072.,  304968.,  306864.,
      308760.,  310656.,  312552.,  314448.,  316344.,  318240.,  293512.,
      295424.,  297336.,  299248.,  301160.,  303072.,  304984.,  306896.,
      308808.,  310720.,  312632.,  314544.,  316456.,  318368.,  320280.,
      295328.,  297256.,  299184.,  301112.,  303040.,  304968.,  306896.,
      308824.,  310752.,  312680.,  314608.,  316536.,  318464.,  320392.,
      322320.,  297144.,  299088.,  301032.,  302976.,  304920.,  306864.,
      308808.,  310752.,  312696.,  314640.,  316584.,  318528.,  320472.,
      322416.,  324360.,  298960.,  300920.,  302880.,  304840.,  306800.,
      308760.,  310720.,  312680.,  314640.,  316600.,  318560.,  320520.,
      322480.,  324440.,  326400.,  300776.,  302752.,  304728.,  306704.,
      308680.,  310656.,  312632.,  314608.,  316584.,  318560.,  320536.,
      322512.,  324488.,  326464.,  328440.,  302592.,  304584.,  306576.,
      308568.,  310560.,  312552.,  314544.,  316536.,  318528.,  320520.,
      322512.,  324504.,  326496.,  328488.,  330480.,  304408.,  306416.,
      308424.,  310432.,  312440.,  314448.,  316456.,  318464.,  320472.,
      322480.,  324488.,  326496.,  328504.,  330512.,  332520.,  306224.,
      308248.,  310272.,  312296.,  314320.,  316344.,  318368.,  320392.,
      322416.,  324440.,  326464.,  328488.,  330512.,  332536.,  334560.,
      308040.,  310080.,  312120.,  314160.,  316200.,  318240.,  320280.,
      322320.,  324360.,  326400.,  328440.,  330480.,  332520.,  334560.,
      336600.,  2075896., 2081552., 2087208., 2092864., 2098520., 2104176.,
      2109832., 2115488., 2121144., 2126800., 2132456., 2138112., 2143768.,
      2149424., 2155080., 2081552., 2087224., 2092896., 2098568., 2104240.,
      2109912., 2115584., 2121256., 2126928., 2132600., 2138272., 2143944.,
      2149616., 2155288., 2160960., 2087208., 2092896., 2098584., 2104272.,
      2109960., 2115648., 2121336., 2127024., 2132712., 2138400., 2144088.,
      2149776., 2155464., 2161152., 2166840., 2092864., 2098568., 2104272.,
      2109976., 2115680., 2121384., 2127088., 2132792., 2138496., 2144200.,
      2149904., 2155608., 2161312., 2167016., 2172720., 2098520., 2104240.,
      2109960., 2115680., 2121400., 2127120., 2132840., 2138560., 2144280.,
      2150000., 2155720., 2161440., 2167160., 2172880., 2178600., 2104176.,
      2109912., 2115648., 2121384., 2127120., 2132856., 2138592., 2144328.,
      2150064., 2155800., 2161536., 2167272., 2173008., 2178744., 2184480.,
      2109832., 2115584., 2121336., 2127088., 2132840., 2138592., 2144344.,
      2150096., 2155848., 2161600., 2167352., 2173104., 2178856., 2184608.,
      2190360., 2115488., 2121256., 2127024., 2132792., 2138560., 2144328.,
      2150096., 2155864., 2161632., 2167400., 2173168., 2178936., 2184704.,
      2190472., 2196240., 2121144., 2126928., 2132712., 2138496., 2144280.,
      2150064., 2155848., 2161632., 2167416., 2173200., 2178984., 2184768.,
      2190552., 2196336., 2202120., 2126800., 2132600., 2138400., 2144200.,
      2150000., 2155800., 2161600., 2167400., 2173200., 2179000., 2184800.,
      2190600., 2196400., 2202200., 2208000., 2132456., 2138272., 2144088.,
      2149904., 2155720., 2161536., 2167352., 2173168., 2178984., 2184800.,
      2190616., 2196432., 2202248., 2208064., 2213880., 2138112., 2143944.,
      2149776., 2155608., 2161440., 2167272., 2173104., 2178936., 2184768.,
      2190600., 2196432., 2202264., 2208096., 2213928., 2219760., 2143768.,
      2149616., 2155464., 2161312., 2167160., 2173008., 2178856., 2184704.,
      2190552., 2196400., 2202248., 2208096., 2213944., 2219792., 2225640.,
      2149424., 2155288., 2161152., 2167016., 2172880., 2178744., 2184608.,
      2190472., 2196336., 2202200., 2208064., 2213928., 2219792., 2225656.,
      2231520., 2155080., 2160960., 2166840., 2172720., 2178600., 2184480.,
      2190360., 2196240., 2202120., 2208000., 2213880., 2219760., 2225640.,
      2231520., 2237400., 5712376., 5721872., 5731368., 5740864., 5750360.,
      5759856., 5769352., 5778848., 5788344., 5797840., 5807336., 5816832.,
      5826328., 5835824., 5845320., 5721872., 5731384., 5740896., 5750408.,
      5759920., 5769432., 5778944., 5788456., 5797968., 5807480., 5816992.,
      5826504., 5836016., 5845528., 5855040., 5731368., 5740896., 5750424.,
      5759952., 5769480., 5779008., 5788536., 5798064., 5807592., 5817120.,
      5826648., 5836176., 5845704., 5855232., 5864760., 5740864., 5750408.,
      5759952., 5769496., 5779040., 5788584., 5798128., 5807672., 5817216.,
      5826760., 5836304., 5845848., 5855392., 5864936., 5874480., 5750360.,
      5759920., 5769480., 5779040., 5788600., 5798160., 5807720., 5817280.,
      5826840., 5836400., 5845960., 5855520., 5865080., 5874640., 5884200.,
      5759856., 5769432., 5779008., 5788584., 5798160., 5807736., 5817312.,
      5826888., 5836464., 5846040., 5855616., 5865192., 5874768., 5884344.,
      5893920., 5769352., 5778944., 5788536., 5798128., 5807720., 5817312.,
      5826904., 5836496., 5846088., 5855680., 5865272., 5874864., 5884456.,
      5894048., 5903640., 5778848., 5788456., 5798064., 5807672., 5817280.,
      5826888., 5836496., 5846104., 5855712., 5865320., 5874928., 5884536.,
      5894144., 5903752., 5913360., 5788344., 5797968., 5807592., 5817216.,
      5826840., 5836464., 5846088., 5855712., 5865336., 5874960., 5884584.,
      5894208., 5903832., 5913456., 5923080., 5797840., 5807480., 5817120.,
      5826760., 5836400., 5846040., 5855680., 5865320., 5874960., 5884600.,
      5894240., 5903880., 5913520., 5923160., 5932800., 5807336., 5816992.,
      5826648., 5836304., 5845960., 5855616., 5865272., 5874928., 5884584.,
      5894240., 5903896., 5913552., 5923208., 5932864., 5942520., 5816832.,
      5826504., 5836176., 5845848., 5855520., 5865192., 5874864., 5884536.,
      5894208., 5903880., 5913552., 5923224., 5932896., 5942568., 5952240.,
      5826328., 5836016., 5845704., 5855392., 5865080., 5874768., 5884456.,
      5894144., 5903832., 5913520., 5923208., 5932896., 5942584., 5952272.,
      5961960., 5835824., 5845528., 5855232., 5864936., 5874640., 5884344.,
      5894048., 5903752., 5913456., 5923160., 5932864., 5942568., 5952272.,
      5961976., 5971680., 5845320., 5855040., 5864760., 5874480., 5884200.,
      5893920., 5903640., 5913360., 5923080., 5932800., 5942520., 5952240.,
      5961960., 5971680., 5981400.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M15xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      301336.,  303152.,  304968.,  306784.,  308600.,  310416.,  312232.,
      314048.,  315864.,  317680.,  319496.,  321312.,  323128.,  324944.,
      326760.,  328576.,  303272.,  305104.,  306936.,  308768.,  310600.,
      312432.,  314264.,  316096.,  317928.,  319760.,  321592.,  323424.,
      325256.,  327088.,  328920.,  330752.,  305208.,  307056.,  308904.,
      310752.,  312600.,  314448.,  316296.,  318144.,  319992.,  321840.,
      323688.,  325536.,  327384.,  329232.,  331080.,  332928.,  307144.,
      309008.,  310872.,  312736.,  314600.,  316464.,  318328.,  320192.,
      322056.,  323920.,  325784.,  327648.,  329512.,  331376.,  333240.,
      335104.,  309080.,  310960.,  312840.,  314720.,  316600.,  318480.,
      320360.,  322240.,  324120.,  326000.,  327880.,  329760.,  331640.,
      333520.,  335400.,  337280.,  311016.,  312912.,  314808.,  316704.,
      318600.,  320496.,  322392.,  324288.,  326184.,  328080.,  329976.,
      331872.,  333768.,  335664.,  337560.,  339456.,  312952.,  314864.,
      316776.,  318688.,  320600.,  322512.,  324424.,  326336.,  328248.,
      330160.,  332072.,  333984.,  335896.,  337808.,  339720.,  341632.,
      314888.,  316816.,  318744.,  320672.,  322600.,  324528.,  326456.,
      328384.,  330312.,  332240.,  334168.,  336096.,  338024.,  339952.,
      341880.,  343808.,  316824.,  318768.,  320712.,  322656.,  324600.,
      326544.,  328488.,  330432.,  332376.,  334320.,  336264.,  338208.,
      340152.,  342096.,  344040.,  345984.,  318760.,  320720.,  322680.,
      324640.,  326600.,  328560.,  330520.,  332480.,  334440.,  336400.,
      338360.,  340320.,  342280.,  344240.,  346200.,  348160.,  320696.,
      322672.,  324648.,  326624.,  328600.,  330576.,  332552.,  334528.,
      336504.,  338480.,  340456.,  342432.,  344408.,  346384.,  348360.,
      350336.,  322632.,  324624.,  326616.,  328608.,  330600.,  332592.,
      334584.,  336576.,  338568.,  340560.,  342552.,  344544.,  346536.,
      348528.,  350520.,  352512.,  324568.,  326576.,  328584.,  330592.,
      332600.,  334608.,  336616.,  338624.,  340632.,  342640.,  344648.,
      346656.,  348664.,  350672.,  352680.,  354688.,  326504.,  328528.,
      330552.,  332576.,  334600.,  336624.,  338648.,  340672.,  342696.,
      344720.,  346744.,  348768.,  350792.,  352816.,  354840.,  356864.,
      328440.,  330480.,  332520.,  334560.,  336600.,  338640.,  340680.,
      342720.,  344760.,  346800.,  348840.,  350880.,  352920.,  354960.,
      357000.,  359040.,  2213912., 2219568., 2225224., 2230880., 2236536.,
      2242192., 2247848., 2253504., 2259160., 2264816., 2270472., 2276128.,
      2281784., 2287440., 2293096., 2298752., 2219944., 2225616., 2231288.,
      2236960., 2242632., 2248304., 2253976., 2259648., 2265320., 2270992.,
      2276664., 2282336., 2288008., 2293680., 2299352., 2305024., 2225976.,
      2231664., 2237352., 2243040., 2248728., 2254416., 2260104., 2265792.,
      2271480., 2277168., 2282856., 2288544., 2294232., 2299920., 2305608.,
      2311296., 2232008., 2237712., 2243416., 2249120., 2254824., 2260528.,
      2266232., 2271936., 2277640., 2283344., 2289048., 2294752., 2300456.,
      2306160., 2311864., 2317568., 2238040., 2243760., 2249480., 2255200.,
      2260920., 2266640., 2272360., 2278080., 2283800., 2289520., 2295240.,
      2300960., 2306680., 2312400., 2318120., 2323840., 2244072., 2249808.,
      2255544., 2261280., 2267016., 2272752., 2278488., 2284224., 2289960.,
      2295696., 2301432., 2307168., 2312904., 2318640., 2324376., 2330112.,
      2250104., 2255856., 2261608., 2267360., 2273112., 2278864., 2284616.,
      2290368., 2296120., 2301872., 2307624., 2313376., 2319128., 2324880.,
      2330632., 2336384., 2256136., 2261904., 2267672., 2273440., 2279208.,
      2284976., 2290744., 2296512., 2302280., 2308048., 2313816., 2319584.,
      2325352., 2331120., 2336888., 2342656., 2262168., 2267952., 2273736.,
      2279520., 2285304., 2291088., 2296872., 2302656., 2308440., 2314224.,
      2320008., 2325792., 2331576., 2337360., 2343144., 2348928., 2268200.,
      2274000., 2279800., 2285600., 2291400., 2297200., 2303000., 2308800.,
      2314600., 2320400., 2326200., 2332000., 2337800., 2343600., 2349400.,
      2355200., 2274232., 2280048., 2285864., 2291680., 2297496., 2303312.,
      2309128., 2314944., 2320760., 2326576., 2332392., 2338208., 2344024.,
      2349840., 2355656., 2361472., 2280264., 2286096., 2291928., 2297760.,
      2303592., 2309424., 2315256., 2321088., 2326920., 2332752., 2338584.,
      2344416., 2350248., 2356080., 2361912., 2367744., 2286296., 2292144.,
      2297992., 2303840., 2309688., 2315536., 2321384., 2327232., 2333080.,
      2338928., 2344776., 2350624., 2356472., 2362320., 2368168., 2374016.,
      2292328., 2298192., 2304056., 2309920., 2315784., 2321648., 2327512.,
      2333376., 2339240., 2345104., 2350968., 2356832., 2362696., 2368560.,
      2374424., 2380288., 2298360., 2304240., 2310120., 2316000., 2321880.,
      2327760., 2333640., 2339520., 2345400., 2351280., 2357160., 2363040.,
      2368920., 2374800., 2380680., 2386560., 6092568., 6102064., 6111560.,
      6121056., 6130552., 6140048., 6149544., 6159040., 6168536., 6178032.,
      6187528., 6197024., 6206520., 6216016., 6225512., 6235008., 6102696.,
      6112208., 6121720., 6131232., 6140744., 6150256., 6159768., 6169280.,
      6178792., 6188304., 6197816., 6207328., 6216840., 6226352., 6235864.,
      6245376., 6112824., 6122352., 6131880., 6141408., 6150936., 6160464.,
      6169992., 6179520., 6189048., 6198576., 6208104., 6217632., 6227160.,
      6236688., 6246216., 6255744., 6122952., 6132496., 6142040., 6151584.,
      6161128., 6170672., 6180216., 6189760., 6199304., 6208848., 6218392.,
      6227936., 6237480., 6247024., 6256568., 6266112., 6133080., 6142640.,
      6152200., 6161760., 6171320., 6180880., 6190440., 6200000., 6209560.,
      6219120., 6228680., 6238240., 6247800., 6257360., 6266920., 6276480.,
      6143208., 6152784., 6162360., 6171936., 6181512., 6191088., 6200664.,
      6210240., 6219816., 6229392., 6238968., 6248544., 6258120., 6267696.,
      6277272., 6286848., 6153336., 6162928., 6172520., 6182112., 6191704.,
      6201296., 6210888., 6220480., 6230072., 6239664., 6249256., 6258848.,
      6268440., 6278032., 6287624., 6297216., 6163464., 6173072., 6182680.,
      6192288., 6201896., 6211504., 6221112., 6230720., 6240328., 6249936.,
      6259544., 6269152., 6278760., 6288368., 6297976., 6307584., 6173592.,
      6183216., 6192840., 6202464., 6212088., 6221712., 6231336., 6240960.,
      6250584., 6260208., 6269832., 6279456., 6289080., 6298704., 6308328.,
      6317952., 6183720., 6193360., 6203000., 6212640., 6222280., 6231920.,
      6241560., 6251200., 6260840., 6270480., 6280120., 6289760., 6299400.,
      6309040., 6318680., 6328320., 6193848., 6203504., 6213160., 6222816.,
      6232472., 6242128., 6251784., 6261440., 6271096., 6280752., 6290408.,
      6300064., 6309720., 6319376., 6329032., 6338688., 6203976., 6213648.,
      6223320., 6232992., 6242664., 6252336., 6262008., 6271680., 6281352.,
      6291024., 6300696., 6310368., 6320040., 6329712., 6339384., 6349056.,
      6214104., 6223792., 6233480., 6243168., 6252856., 6262544., 6272232.,
      6281920., 6291608., 6301296., 6310984., 6320672., 6330360., 6340048.,
      6349736., 6359424., 6224232., 6233936., 6243640., 6253344., 6263048.,
      6272752., 6282456., 6292160., 6301864., 6311568., 6321272., 6330976.,
      6340680., 6350384., 6360088., 6369792., 6234360., 6244080., 6253800.,
      6263520., 6273240., 6282960., 6292680., 6302400., 6312120., 6321840.,
      6331560., 6341280., 6351000., 6360720., 6370440., 6380160.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      186200.,  187670.,  189140.,  190610.,  192080.,  193550.,  195020.,
      196490.,  197960.,  199430.,  200900.,  202370.,  203840.,  205310.,
      187488.,  188972.,  190456.,  191940.,  193424.,  194908.,  196392.,
      197876.,  199360.,  200844.,  202328.,  203812.,  205296.,  206780.,
      188776.,  190274.,  191772.,  193270.,  194768.,  196266.,  197764.,
      199262.,  200760.,  202258.,  203756.,  205254.,  206752.,  208250.,
      190064.,  191576.,  193088.,  194600.,  196112.,  197624.,  199136.,
      200648.,  202160.,  203672.,  205184.,  206696.,  208208.,  209720.,
      191352.,  192878.,  194404.,  195930.,  197456.,  198982.,  200508.,
      202034.,  203560.,  205086.,  206612.,  208138.,  209664.,  211190.,
      192640.,  194180.,  195720.,  197260.,  198800.,  200340.,  201880.,
      203420.,  204960.,  206500.,  208040.,  209580.,  211120.,  212660.,
      193928.,  195482.,  197036.,  198590.,  200144.,  201698.,  203252.,
      204806.,  206360.,  207914.,  209468.,  211022.,  212576.,  214130.,
      195216.,  196784.,  198352.,  199920.,  201488.,  203056.,  204624.,
      206192.,  207760.,  209328.,  210896.,  212464.,  214032.,  215600.,
      196504.,  198086.,  199668.,  201250.,  202832.,  204414.,  205996.,
      207578.,  209160.,  210742.,  212324.,  213906.,  215488.,  217070.,
      197792.,  199388.,  200984.,  202580.,  204176.,  205772.,  207368.,
      208964.,  210560.,  212156.,  213752.,  215348.,  216944.,  218540.,
      199080.,  200690.,  202300.,  203910.,  205520.,  207130.,  208740.,
      210350.,  211960.,  213570.,  215180.,  216790.,  218400.,  220010.,
      200368.,  201992.,  203616.,  205240.,  206864.,  208488.,  210112.,
      211736.,  213360.,  214984.,  216608.,  218232.,  219856.,  221480.,
      201656.,  203294.,  204932.,  206570.,  208208.,  209846.,  211484.,
      213122.,  214760.,  216398.,  218036.,  219674.,  221312.,  222950.,
      202944.,  204596.,  206248.,  207900.,  209552.,  211204.,  212856.,
      214508.,  216160.,  217812.,  219464.,  221116.,  222768.,  224420.,
      204232.,  205898.,  207564.,  209230.,  210896.,  212562.,  214228.,
      215894.,  217560.,  219226.,  220892.,  222558.,  224224.,  225890.,
      205520.,  207200.,  208880.,  210560.,  212240.,  213920.,  215600.,
      217280.,  218960.,  220640.,  222320.,  224000.,  225680.,  227360.,
      1377488., 1382094., 1386700., 1391306., 1395912., 1400518., 1405124.,
      1409730., 1414336., 1418942., 1423548., 1428154., 1432760., 1437366.,
      1381520., 1386140., 1390760., 1395380., 1400000., 1404620., 1409240.,
      1413860., 1418480., 1423100., 1427720., 1432340., 1436960., 1441580.,
      1385552., 1390186., 1394820., 1399454., 1404088., 1408722., 1413356.,
      1417990., 1422624., 1427258., 1431892., 1436526., 1441160., 1445794.,
      1389584., 1394232., 1398880., 1403528., 1408176., 1412824., 1417472.,
      1422120., 1426768., 1431416., 1436064., 1440712., 1445360., 1450008.,
      1393616., 1398278., 1402940., 1407602., 1412264., 1416926., 1421588.,
      1426250., 1430912., 1435574., 1440236., 1444898., 1449560., 1454222.,
      1397648., 1402324., 1407000., 1411676., 1416352., 1421028., 1425704.,
      1430380., 1435056., 1439732., 1444408., 1449084., 1453760., 1458436.,
      1401680., 1406370., 1411060., 1415750., 1420440., 1425130., 1429820.,
      1434510., 1439200., 1443890., 1448580., 1453270., 1457960., 1462650.,
      1405712., 1410416., 1415120., 1419824., 1424528., 1429232., 1433936.,
      1438640., 1443344., 1448048., 1452752., 1457456., 1462160., 1466864.,
      1409744., 1414462., 1419180., 1423898., 1428616., 1433334., 1438052.,
      1442770., 1447488., 1452206., 1456924., 1461642., 1466360., 1471078.,
      1413776., 1418508., 1423240., 1427972., 1432704., 1437436., 1442168.,
      1446900., 1451632., 1456364., 1461096., 1465828., 1470560., 1475292.,
      1417808., 1422554., 1427300., 1432046., 1436792., 1441538., 1446284.,
      1451030., 1455776., 1460522., 1465268., 1470014., 1474760., 1479506.,
      1421840., 1426600., 1431360., 1436120., 1440880., 1445640., 1450400.,
      1455160., 1459920., 1464680., 1469440., 1474200., 1478960., 1483720.,
      1425872., 1430646., 1435420., 1440194., 1444968., 1449742., 1454516.,
      1459290., 1464064., 1468838., 1473612., 1478386., 1483160., 1487934.,
      1429904., 1434692., 1439480., 1444268., 1449056., 1453844., 1458632.,
      1463420., 1468208., 1472996., 1477784., 1482572., 1487360., 1492148.,
      1433936., 1438738., 1443540., 1448342., 1453144., 1457946., 1462748.,
      1467550., 1472352., 1477154., 1481956., 1486758., 1491560., 1496362.,
      1437968., 1442784., 1447600., 1452416., 1457232., 1462048., 1466864.,
      1471680., 1476496., 1481312., 1486128., 1490944., 1495760., 1500576.,
      3798088., 3805830., 3813572., 3821314., 3829056., 3836798., 3844540.,
      3852282., 3860024., 3867766., 3875508., 3883250., 3890992., 3898734.,
      3804864., 3812620., 3820376., 3828132., 3835888., 3843644., 3851400.,
      3859156., 3866912., 3874668., 3882424., 3890180., 3897936., 3905692.,
      3811640., 3819410., 3827180., 3834950., 3842720., 3850490., 3858260.,
      3866030., 3873800., 3881570., 3889340., 3897110., 3904880., 3912650.,
      3818416., 3826200., 3833984., 3841768., 3849552., 3857336., 3865120.,
      3872904., 3880688., 3888472., 3896256., 3904040., 3911824., 3919608.,
      3825192., 3832990., 3840788., 3848586., 3856384., 3864182., 3871980.,
      3879778., 3887576., 3895374., 3903172., 3910970., 3918768., 3926566.,
      3831968., 3839780., 3847592., 3855404., 3863216., 3871028., 3878840.,
      3886652., 3894464., 3902276., 3910088., 3917900., 3925712., 3933524.,
      3838744., 3846570., 3854396., 3862222., 3870048., 3877874., 3885700.,
      3893526., 3901352., 3909178., 3917004., 3924830., 3932656., 3940482.,
      3845520., 3853360., 3861200., 3869040., 3876880., 3884720., 3892560.,
      3900400., 3908240., 3916080., 3923920., 3931760., 3939600., 3947440.,
      3852296., 3860150., 3868004., 3875858., 3883712., 3891566., 3899420.,
      3907274., 3915128., 3922982., 3930836., 3938690., 3946544., 3954398.,
      3859072., 3866940., 3874808., 3882676., 3890544., 3898412., 3906280.,
      3914148., 3922016., 3929884., 3937752., 3945620., 3953488., 3961356.,
      3865848., 3873730., 3881612., 3889494., 3897376., 3905258., 3913140.,
      3921022., 3928904., 3936786., 3944668., 3952550., 3960432., 3968314.,
      3872624., 3880520., 3888416., 3896312., 3904208., 3912104., 3920000.,
      3927896., 3935792., 3943688., 3951584., 3959480., 3967376., 3975272.,
      3879400., 3887310., 3895220., 3903130., 3911040., 3918950., 3926860.,
      3934770., 3942680., 3950590., 3958500., 3966410., 3974320., 3982230.,
      3886176., 3894100., 3902024., 3909948., 3917872., 3925796., 3933720.,
      3941644., 3949568., 3957492., 3965416., 3973340., 3981264., 3989188.,
      3892952., 3900890., 3908828., 3916766., 3924704., 3932642., 3940580.,
      3948518., 3956456., 3964394., 3972332., 3980270., 3988208., 3996146.,
      3899728., 3907680., 3915632., 3923584., 3931536., 3939488., 3947440.,
      3955392., 3963344., 3971296., 3979248., 3987200., 3995152., 4003104.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      199395.,  200865.,  202335.,  203805.,  205275.,  206745.,  208215.,
      209685.,  211155.,  212625.,  214095.,  215565.,  217035.,  218505.,
      219975.,  200774.,  202258.,  203742.,  205226.,  206710.,  208194.,
      209678.,  211162.,  212646.,  214130.,  215614.,  217098.,  218582.,
      220066.,  221550.,  202153.,  203651.,  205149.,  206647.,  208145.,
      209643.,  211141.,  212639.,  214137.,  215635.,  217133.,  218631.,
      220129.,  221627.,  223125.,  203532.,  205044.,  206556.,  208068.,
      209580.,  211092.,  212604.,  214116.,  215628.,  217140.,  218652.,
      220164.,  221676.,  223188.,  224700.,  204911.,  206437.,  207963.,
      209489.,  211015.,  212541.,  214067.,  215593.,  217119.,  218645.,
      220171.,  221697.,  223223.,  224749.,  226275.,  206290.,  207830.,
      209370.,  210910.,  212450.,  213990.,  215530.,  217070.,  218610.,
      220150.,  221690.,  223230.,  224770.,  226310.,  227850.,  207669.,
      209223.,  210777.,  212331.,  213885.,  215439.,  216993.,  218547.,
      220101.,  221655.,  223209.,  224763.,  226317.,  227871.,  229425.,
      209048.,  210616.,  212184.,  213752.,  215320.,  216888.,  218456.,
      220024.,  221592.,  223160.,  224728.,  226296.,  227864.,  229432.,
      231000.,  210427.,  212009.,  213591.,  215173.,  216755.,  218337.,
      219919.,  221501.,  223083.,  224665.,  226247.,  227829.,  229411.,
      230993.,  232575.,  211806.,  213402.,  214998.,  216594.,  218190.,
      219786.,  221382.,  222978.,  224574.,  226170.,  227766.,  229362.,
      230958.,  232554.,  234150.,  213185.,  214795.,  216405.,  218015.,
      219625.,  221235.,  222845.,  224455.,  226065.,  227675.,  229285.,
      230895.,  232505.,  234115.,  235725.,  214564.,  216188.,  217812.,
      219436.,  221060.,  222684.,  224308.,  225932.,  227556.,  229180.,
      230804.,  232428.,  234052.,  235676.,  237300.,  215943.,  217581.,
      219219.,  220857.,  222495.,  224133.,  225771.,  227409.,  229047.,
      230685.,  232323.,  233961.,  235599.,  237237.,  238875.,  217322.,
      218974.,  220626.,  222278.,  223930.,  225582.,  227234.,  228886.,
      230538.,  232190.,  233842.,  235494.,  237146.,  238798.,  240450.,
      218701.,  220367.,  222033.,  223699.,  225365.,  227031.,  228697.,
      230363.,  232029.,  233695.,  235361.,  237027.,  238693.,  240359.,
      242025.,  220080.,  221760.,  223440.,  225120.,  226800.,  228480.,
      230160.,  231840.,  233520.,  235200.,  236880.,  238560.,  240240.,
      241920.,  243600.,  1475551., 1480157., 1484763., 1489369., 1493975.,
      1498581., 1503187., 1507793., 1512399., 1517005., 1521611., 1526217.,
      1530823., 1535429., 1540035., 1479870., 1484490., 1489110., 1493730.,
      1498350., 1502970., 1507590., 1512210., 1516830., 1521450., 1526070.,
      1530690., 1535310., 1539930., 1544550., 1484189., 1488823., 1493457.,
      1498091., 1502725., 1507359., 1511993., 1516627., 1521261., 1525895.,
      1530529., 1535163., 1539797., 1544431., 1549065., 1488508., 1493156.,
      1497804., 1502452., 1507100., 1511748., 1516396., 1521044., 1525692.,
      1530340., 1534988., 1539636., 1544284., 1548932., 1553580., 1492827.,
      1497489., 1502151., 1506813., 1511475., 1516137., 1520799., 1525461.,
      1530123., 1534785., 1539447., 1544109., 1548771., 1553433., 1558095.,
      1497146., 1501822., 1506498., 1511174., 1515850., 1520526., 1525202.,
      1529878., 1534554., 1539230., 1543906., 1548582., 1553258., 1557934.,
      1562610., 1501465., 1506155., 1510845., 1515535., 1520225., 1524915.,
      1529605., 1534295., 1538985., 1543675., 1548365., 1553055., 1557745.,
      1562435., 1567125., 1505784., 1510488., 1515192., 1519896., 1524600.,
      1529304., 1534008., 1538712., 1543416., 1548120., 1552824., 1557528.,
      1562232., 1566936., 1571640., 1510103., 1514821., 1519539., 1524257.,
      1528975., 1533693., 1538411., 1543129., 1547847., 1552565., 1557283.,
      1562001., 1566719., 1571437., 1576155., 1514422., 1519154., 1523886.,
      1528618., 1533350., 1538082., 1542814., 1547546., 1552278., 1557010.,
      1561742., 1566474., 1571206., 1575938., 1580670., 1518741., 1523487.,
      1528233., 1532979., 1537725., 1542471., 1547217., 1551963., 1556709.,
      1561455., 1566201., 1570947., 1575693., 1580439., 1585185., 1523060.,
      1527820., 1532580., 1537340., 1542100., 1546860., 1551620., 1556380.,
      1561140., 1565900., 1570660., 1575420., 1580180., 1584940., 1589700.,
      1527379., 1532153., 1536927., 1541701., 1546475., 1551249., 1556023.,
      1560797., 1565571., 1570345., 1575119., 1579893., 1584667., 1589441.,
      1594215., 1531698., 1536486., 1541274., 1546062., 1550850., 1555638.,
      1560426., 1565214., 1570002., 1574790., 1579578., 1584366., 1589154.,
      1593942., 1598730., 1536017., 1540819., 1545621., 1550423., 1555225.,
      1560027., 1564829., 1569631., 1574433., 1579235., 1584037., 1588839.,
      1593641., 1598443., 1603245., 1540336., 1545152., 1549968., 1554784.,
      1559600., 1564416., 1569232., 1574048., 1578864., 1583680., 1588496.,
      1593312., 1598128., 1602944., 1607760., 4068827., 4076569., 4084311.,
      4092053., 4099795., 4107537., 4115279., 4123021., 4130763., 4138505.,
      4146247., 4153989., 4161731., 4169473., 4177215., 4076086., 4083842.,
      4091598., 4099354., 4107110., 4114866., 4122622., 4130378., 4138134.,
      4145890., 4153646., 4161402., 4169158., 4176914., 4184670., 4083345.,
      4091115., 4098885., 4106655., 4114425., 4122195., 4129965., 4137735.,
      4145505., 4153275., 4161045., 4168815., 4176585., 4184355., 4192125.,
      4090604., 4098388., 4106172., 4113956., 4121740., 4129524., 4137308.,
      4145092., 4152876., 4160660., 4168444., 4176228., 4184012., 4191796.,
      4199580., 4097863., 4105661., 4113459., 4121257., 4129055., 4136853.,
      4144651., 4152449., 4160247., 4168045., 4175843., 4183641., 4191439.,
      4199237., 4207035., 4105122., 4112934., 4120746., 4128558., 4136370.,
      4144182., 4151994., 4159806., 4167618., 4175430., 4183242., 4191054.,
      4198866., 4206678., 4214490., 4112381., 4120207., 4128033., 4135859.,
      4143685., 4151511., 4159337., 4167163., 4174989., 4182815., 4190641.,
      4198467., 4206293., 4214119., 4221945., 4119640., 4127480., 4135320.,
      4143160., 4151000., 4158840., 4166680., 4174520., 4182360., 4190200.,
      4198040., 4205880., 4213720., 4221560., 4229400., 4126899., 4134753.,
      4142607., 4150461., 4158315., 4166169., 4174023., 4181877., 4189731.,
      4197585., 4205439., 4213293., 4221147., 4229001., 4236855., 4134158.,
      4142026., 4149894., 4157762., 4165630., 4173498., 4181366., 4189234.,
      4197102., 4204970., 4212838., 4220706., 4228574., 4236442., 4244310.,
      4141417., 4149299., 4157181., 4165063., 4172945., 4180827., 4188709.,
      4196591., 4204473., 4212355., 4220237., 4228119., 4236001., 4243883.,
      4251765., 4148676., 4156572., 4164468., 4172364., 4180260., 4188156.,
      4196052., 4203948., 4211844., 4219740., 4227636., 4235532., 4243428.,
      4251324., 4259220., 4155935., 4163845., 4171755., 4179665., 4187575.,
      4195485., 4203395., 4211305., 4219215., 4227125., 4235035., 4242945.,
      4250855., 4258765., 4266675., 4163194., 4171118., 4179042., 4186966.,
      4194890., 4202814., 4210738., 4218662., 4226586., 4234510., 4242434.,
      4250358., 4258282., 4266206., 4274130., 4170453., 4178391., 4186329.,
      4194267., 4202205., 4210143., 4218081., 4226019., 4233957., 4241895.,
      4249833., 4257771., 4265709., 4273647., 4281585., 4177712., 4185664.,
      4193616., 4201568., 4209520., 4217472., 4225424., 4233376., 4241328.,
      4249280., 4257232., 4265184., 4273136., 4281088., 4289040.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      212590.,  214060.,  215530.,  217000.,  218470.,  219940.,  221410.,
      222880.,  224350.,  225820.,  227290.,  228760.,  230230.,  231700.,
      233170.,  234640.,  214060.,  215544.,  217028.,  218512.,  219996.,
      221480.,  222964.,  224448.,  225932.,  227416.,  228900.,  230384.,
      231868.,  233352.,  234836.,  236320.,  215530.,  217028.,  218526.,
      220024.,  221522.,  223020.,  224518.,  226016.,  227514.,  229012.,
      230510.,  232008.,  233506.,  235004.,  236502.,  238000.,  217000.,
      218512.,  220024.,  221536.,  223048.,  224560.,  226072.,  227584.,
      229096.,  230608.,  232120.,  233632.,  235144.,  236656.,  238168.,
      239680.,  218470.,  219996.,  221522.,  223048.,  224574.,  226100.,
      227626.,  229152.,  230678.,  232204.,  233730.,  235256.,  236782.,
      238308.,  239834.,  241360.,  219940.,  221480.,  223020.,  224560.,
      226100.,  227640.,  229180.,  230720.,  232260.,  233800.,  235340.,
      236880.,  238420.,  239960.,  241500.,  243040.,  221410.,  222964.,
      224518.,  226072.,  227626.,  229180.,  230734.,  232288.,  233842.,
      235396.,  236950.,  238504.,  240058.,  241612.,  243166.,  244720.,
      222880.,  224448.,  226016.,  227584.,  229152.,  230720.,  232288.,
      233856.,  235424.,  236992.,  238560.,  240128.,  241696.,  243264.,
      244832.,  246400.,  224350.,  225932.,  227514.,  229096.,  230678.,
      232260.,  233842.,  235424.,  237006.,  238588.,  240170.,  241752.,
      243334.,  244916.,  246498.,  248080.,  225820.,  227416.,  229012.,
      230608.,  232204.,  233800.,  235396.,  236992.,  238588.,  240184.,
      241780.,  243376.,  244972.,  246568.,  248164.,  249760.,  227290.,
      228900.,  230510.,  232120.,  233730.,  235340.,  236950.,  238560.,
      240170.,  241780.,  243390.,  245000.,  246610.,  248220.,  249830.,
      251440.,  228760.,  230384.,  232008.,  233632.,  235256.,  236880.,
      238504.,  240128.,  241752.,  243376.,  245000.,  246624.,  248248.,
      249872.,  251496.,  253120.,  230230.,  231868.,  233506.,  235144.,
      236782.,  238420.,  240058.,  241696.,  243334.,  244972.,  246610.,
      248248.,  249886.,  251524.,  253162.,  254800.,  231700.,  233352.,
      235004.,  236656.,  238308.,  239960.,  241612.,  243264.,  244916.,
      246568.,  248220.,  249872.,  251524.,  253176.,  254828.,  256480.,
      233170.,  234836.,  236502.,  238168.,  239834.,  241500.,  243166.,
      244832.,  246498.,  248164.,  249830.,  251496.,  253162.,  254828.,
      256494.,  258160.,  234640.,  236320.,  238000.,  239680.,  241360.,
      243040.,  244720.,  246400.,  248080.,  249760.,  251440.,  253120.,
      254800.,  256480.,  258160.,  259840.,  1573614., 1578220., 1582826.,
      1587432., 1592038., 1596644., 1601250., 1605856., 1610462., 1615068.,
      1619674., 1624280., 1628886., 1633492., 1638098., 1642704., 1578220.,
      1582840., 1587460., 1592080., 1596700., 1601320., 1605940., 1610560.,
      1615180., 1619800., 1624420., 1629040., 1633660., 1638280., 1642900.,
      1647520., 1582826., 1587460., 1592094., 1596728., 1601362., 1605996.,
      1610630., 1615264., 1619898., 1624532., 1629166., 1633800., 1638434.,
      1643068., 1647702., 1652336., 1587432., 1592080., 1596728., 1601376.,
      1606024., 1610672., 1615320., 1619968., 1624616., 1629264., 1633912.,
      1638560., 1643208., 1647856., 1652504., 1657152., 1592038., 1596700.,
      1601362., 1606024., 1610686., 1615348., 1620010., 1624672., 1629334.,
      1633996., 1638658., 1643320., 1647982., 1652644., 1657306., 1661968.,
      1596644., 1601320., 1605996., 1610672., 1615348., 1620024., 1624700.,
      1629376., 1634052., 1638728., 1643404., 1648080., 1652756., 1657432.,
      1662108., 1666784., 1601250., 1605940., 1610630., 1615320., 1620010.,
      1624700., 1629390., 1634080., 1638770., 1643460., 1648150., 1652840.,
      1657530., 1662220., 1666910., 1671600., 1605856., 1610560., 1615264.,
      1619968., 1624672., 1629376., 1634080., 1638784., 1643488., 1648192.,
      1652896., 1657600., 1662304., 1667008., 1671712., 1676416., 1610462.,
      1615180., 1619898., 1624616., 1629334., 1634052., 1638770., 1643488.,
      1648206., 1652924., 1657642., 1662360., 1667078., 1671796., 1676514.,
      1681232., 1615068., 1619800., 1624532., 1629264., 1633996., 1638728.,
      1643460., 1648192., 1652924., 1657656., 1662388., 1667120., 1671852.,
      1676584., 1681316., 1686048., 1619674., 1624420., 1629166., 1633912.,
      1638658., 1643404., 1648150., 1652896., 1657642., 1662388., 1667134.,
      1671880., 1676626., 1681372., 1686118., 1690864., 1624280., 1629040.,
      1633800., 1638560., 1643320., 1648080., 1652840., 1657600., 1662360.,
      1667120., 1671880., 1676640., 1681400., 1686160., 1690920., 1695680.,
      1628886., 1633660., 1638434., 1643208., 1647982., 1652756., 1657530.,
      1662304., 1667078., 1671852., 1676626., 1681400., 1686174., 1690948.,
      1695722., 1700496., 1633492., 1638280., 1643068., 1647856., 1652644.,
      1657432., 1662220., 1667008., 1671796., 1676584., 1681372., 1686160.,
      1690948., 1695736., 1700524., 1705312., 1638098., 1642900., 1647702.,
      1652504., 1657306., 1662108., 1666910., 1671712., 1676514., 1681316.,
      1686118., 1690920., 1695722., 1700524., 1705326., 1710128., 1642704.,
      1647520., 1652336., 1657152., 1661968., 1666784., 1671600., 1676416.,
      1681232., 1686048., 1690864., 1695680., 1700496., 1705312., 1710128.,
      1714944., 4339566., 4347308., 4355050., 4362792., 4370534., 4378276.,
      4386018., 4393760., 4401502., 4409244., 4416986., 4424728., 4432470.,
      4440212., 4447954., 4455696., 4347308., 4355064., 4362820., 4370576.,
      4378332., 4386088., 4393844., 4401600., 4409356., 4417112., 4424868.,
      4432624., 4440380., 4448136., 4455892., 4463648., 4355050., 4362820.,
      4370590., 4378360., 4386130., 4393900., 4401670., 4409440., 4417210.,
      4424980., 4432750., 4440520., 4448290., 4456060., 4463830., 4471600.,
      4362792., 4370576., 4378360., 4386144., 4393928., 4401712., 4409496.,
      4417280., 4425064., 4432848., 4440632., 4448416., 4456200., 4463984.,
      4471768., 4479552., 4370534., 4378332., 4386130., 4393928., 4401726.,
      4409524., 4417322., 4425120., 4432918., 4440716., 4448514., 4456312.,
      4464110., 4471908., 4479706., 4487504., 4378276., 4386088., 4393900.,
      4401712., 4409524., 4417336., 4425148., 4432960., 4440772., 4448584.,
      4456396., 4464208., 4472020., 4479832., 4487644., 4495456., 4386018.,
      4393844., 4401670., 4409496., 4417322., 4425148., 4432974., 4440800.,
      4448626., 4456452., 4464278., 4472104., 4479930., 4487756., 4495582.,
      4503408., 4393760., 4401600., 4409440., 4417280., 4425120., 4432960.,
      4440800., 4448640., 4456480., 4464320., 4472160., 4480000., 4487840.,
      4495680., 4503520., 4511360., 4401502., 4409356., 4417210., 4425064.,
      4432918., 4440772., 4448626., 4456480., 4464334., 4472188., 4480042.,
      4487896., 4495750., 4503604., 4511458., 4519312., 4409244., 4417112.,
      4424980., 4432848., 4440716., 4448584., 4456452., 4464320., 4472188.,
      4480056., 4487924., 4495792., 4503660., 4511528., 4519396., 4527264.,
      4416986., 4424868., 4432750., 4440632., 4448514., 4456396., 4464278.,
      4472160., 4480042., 4487924., 4495806., 4503688., 4511570., 4519452.,
      4527334., 4535216., 4424728., 4432624., 4440520., 4448416., 4456312.,
      4464208., 4472104., 4480000., 4487896., 4495792., 4503688., 4511584.,
      4519480., 4527376., 4535272., 4543168., 4432470., 4440380., 4448290.,
      4456200., 4464110., 4472020., 4479930., 4487840., 4495750., 4503660.,
      4511570., 4519480., 4527390., 4535300., 4543210., 4551120., 4440212.,
      4448136., 4456060., 4463984., 4471908., 4479832., 4487756., 4495680.,
      4503604., 4511528., 4519452., 4527376., 4535300., 4543224., 4551148.,
      4559072., 4447954., 4455892., 4463830., 4471768., 4479706., 4487644.,
      4495582., 4503520., 4511458., 4519396., 4527334., 4535272., 4543210.,
      4551148., 4559086., 4567024., 4455696., 4463648., 4471600., 4479552.,
      4487504., 4495456., 4503408., 4511360., 4519312., 4527264., 4535216.,
      4543168., 4551120., 4559072., 4567024., 4574976.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      230525.,  232220.,  233915.,  235610.,  237305.,  239000.,  240695.,
      242390.,  244085.,  245780.,  247475.,  249170.,  250865.,  252560.,
      232010.,  233720.,  235430.,  237140.,  238850.,  240560.,  242270.,
      243980.,  245690.,  247400.,  249110.,  250820.,  252530.,  254240.,
      233495.,  235220.,  236945.,  238670.,  240395.,  242120.,  243845.,
      245570.,  247295.,  249020.,  250745.,  252470.,  254195.,  255920.,
      234980.,  236720.,  238460.,  240200.,  241940.,  243680.,  245420.,
      247160.,  248900.,  250640.,  252380.,  254120.,  255860.,  257600.,
      236465.,  238220.,  239975.,  241730.,  243485.,  245240.,  246995.,
      248750.,  250505.,  252260.,  254015.,  255770.,  257525.,  259280.,
      237950.,  239720.,  241490.,  243260.,  245030.,  246800.,  248570.,
      250340.,  252110.,  253880.,  255650.,  257420.,  259190.,  260960.,
      239435.,  241220.,  243005.,  244790.,  246575.,  248360.,  250145.,
      251930.,  253715.,  255500.,  257285.,  259070.,  260855.,  262640.,
      240920.,  242720.,  244520.,  246320.,  248120.,  249920.,  251720.,
      253520.,  255320.,  257120.,  258920.,  260720.,  262520.,  264320.,
      242405.,  244220.,  246035.,  247850.,  249665.,  251480.,  253295.,
      255110.,  256925.,  258740.,  260555.,  262370.,  264185.,  266000.,
      243890.,  245720.,  247550.,  249380.,  251210.,  253040.,  254870.,
      256700.,  258530.,  260360.,  262190.,  264020.,  265850.,  267680.,
      245375.,  247220.,  249065.,  250910.,  252755.,  254600.,  256445.,
      258290.,  260135.,  261980.,  263825.,  265670.,  267515.,  269360.,
      246860.,  248720.,  250580.,  252440.,  254300.,  256160.,  258020.,
      259880.,  261740.,  263600.,  265460.,  267320.,  269180.,  271040.,
      248345.,  250220.,  252095.,  253970.,  255845.,  257720.,  259595.,
      261470.,  263345.,  265220.,  267095.,  268970.,  270845.,  272720.,
      249830.,  251720.,  253610.,  255500.,  257390.,  259280.,  261170.,
      263060.,  264950.,  266840.,  268730.,  270620.,  272510.,  274400.,
      251315.,  253220.,  255125.,  257030.,  258935.,  260840.,  262745.,
      264650.,  266555.,  268460.,  270365.,  272270.,  274175.,  276080.,
      252800.,  254720.,  256640.,  258560.,  260480.,  262400.,  264320.,
      266240.,  268160.,  270080.,  272000.,  273920.,  275840.,  277760.,
      1698875., 1704170., 1709465., 1714760., 1720055., 1725350., 1730645.,
      1735940., 1741235., 1746530., 1751825., 1757120., 1762415., 1767710.,
      1703510., 1708820., 1714130., 1719440., 1724750., 1730060., 1735370.,
      1740680., 1745990., 1751300., 1756610., 1761920., 1767230., 1772540.,
      1708145., 1713470., 1718795., 1724120., 1729445., 1734770., 1740095.,
      1745420., 1750745., 1756070., 1761395., 1766720., 1772045., 1777370.,
      1712780., 1718120., 1723460., 1728800., 1734140., 1739480., 1744820.,
      1750160., 1755500., 1760840., 1766180., 1771520., 1776860., 1782200.,
      1717415., 1722770., 1728125., 1733480., 1738835., 1744190., 1749545.,
      1754900., 1760255., 1765610., 1770965., 1776320., 1781675., 1787030.,
      1722050., 1727420., 1732790., 1738160., 1743530., 1748900., 1754270.,
      1759640., 1765010., 1770380., 1775750., 1781120., 1786490., 1791860.,
      1726685., 1732070., 1737455., 1742840., 1748225., 1753610., 1758995.,
      1764380., 1769765., 1775150., 1780535., 1785920., 1791305., 1796690.,
      1731320., 1736720., 1742120., 1747520., 1752920., 1758320., 1763720.,
      1769120., 1774520., 1779920., 1785320., 1790720., 1796120., 1801520.,
      1735955., 1741370., 1746785., 1752200., 1757615., 1763030., 1768445.,
      1773860., 1779275., 1784690., 1790105., 1795520., 1800935., 1806350.,
      1740590., 1746020., 1751450., 1756880., 1762310., 1767740., 1773170.,
      1778600., 1784030., 1789460., 1794890., 1800320., 1805750., 1811180.,
      1745225., 1750670., 1756115., 1761560., 1767005., 1772450., 1777895.,
      1783340., 1788785., 1794230., 1799675., 1805120., 1810565., 1816010.,
      1749860., 1755320., 1760780., 1766240., 1771700., 1777160., 1782620.,
      1788080., 1793540., 1799000., 1804460., 1809920., 1815380., 1820840.,
      1754495., 1759970., 1765445., 1770920., 1776395., 1781870., 1787345.,
      1792820., 1798295., 1803770., 1809245., 1814720., 1820195., 1825670.,
      1759130., 1764620., 1770110., 1775600., 1781090., 1786580., 1792070.,
      1797560., 1803050., 1808540., 1814030., 1819520., 1825010., 1830500.,
      1763765., 1769270., 1774775., 1780280., 1785785., 1791290., 1796795.,
      1802300., 1807805., 1813310., 1818815., 1824320., 1829825., 1835330.,
      1768400., 1773920., 1779440., 1784960., 1790480., 1796000., 1801520.,
      1807040., 1812560., 1818080., 1823600., 1829120., 1834640., 1840160.,
      4679225., 4688120., 4697015., 4705910., 4714805., 4723700., 4732595.,
      4741490., 4750385., 4759280., 4768175., 4777070., 4785965., 4794860.,
      4687010., 4695920., 4704830., 4713740., 4722650., 4731560., 4740470.,
      4749380., 4758290., 4767200., 4776110., 4785020., 4793930., 4802840.,
      4694795., 4703720., 4712645., 4721570., 4730495., 4739420., 4748345.,
      4757270., 4766195., 4775120., 4784045., 4792970., 4801895., 4810820.,
      4702580., 4711520., 4720460., 4729400., 4738340., 4747280., 4756220.,
      4765160., 4774100., 4783040., 4791980., 4800920., 4809860., 4818800.,
      4710365., 4719320., 4728275., 4737230., 4746185., 4755140., 4764095.,
      4773050., 4782005., 4790960., 4799915., 4808870., 4817825., 4826780.,
      4718150., 4727120., 4736090., 4745060., 4754030., 4763000., 4771970.,
      4780940., 4789910., 4798880., 4807850., 4816820., 4825790., 4834760.,
      4725935., 4734920., 4743905., 4752890., 4761875., 4770860., 4779845.,
      4788830., 4797815., 4806800., 4815785., 4824770., 4833755., 4842740.,
      4733720., 4742720., 4751720., 4760720., 4769720., 4778720., 4787720.,
      4796720., 4805720., 4814720., 4823720., 4832720., 4841720., 4850720.,
      4741505., 4750520., 4759535., 4768550., 4777565., 4786580., 4795595.,
      4804610., 4813625., 4822640., 4831655., 4840670., 4849685., 4858700.,
      4749290., 4758320., 4767350., 4776380., 4785410., 4794440., 4803470.,
      4812500., 4821530., 4830560., 4839590., 4848620., 4857650., 4866680.,
      4757075., 4766120., 4775165., 4784210., 4793255., 4802300., 4811345.,
      4820390., 4829435., 4838480., 4847525., 4856570., 4865615., 4874660.,
      4764860., 4773920., 4782980., 4792040., 4801100., 4810160., 4819220.,
      4828280., 4837340., 4846400., 4855460., 4864520., 4873580., 4882640.,
      4772645., 4781720., 4790795., 4799870., 4808945., 4818020., 4827095.,
      4836170., 4845245., 4854320., 4863395., 4872470., 4881545., 4890620.,
      4780430., 4789520., 4798610., 4807700., 4816790., 4825880., 4834970.,
      4844060., 4853150., 4862240., 4871330., 4880420., 4889510., 4898600.,
      4788215., 4797320., 4806425., 4815530., 4824635., 4833740., 4842845.,
      4851950., 4861055., 4870160., 4879265., 4888370., 4897475., 4906580.,
      4796000., 4805120., 4814240., 4823360., 4832480., 4841600., 4850720.,
      4859840., 4868960., 4878080., 4887200., 4896320., 4905440., 4914560.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      246870.,  248565.,  250260.,  251955.,  253650.,  255345.,  257040.,
      258735.,  260430.,  262125.,  263820.,  265515.,  267210.,  268905.,
      270600.,  248460.,  250170.,  251880.,  253590.,  255300.,  257010.,
      258720.,  260430.,  262140.,  263850.,  265560.,  267270.,  268980.,
      270690.,  272400.,  250050.,  251775.,  253500.,  255225.,  256950.,
      258675.,  260400.,  262125.,  263850.,  265575.,  267300.,  269025.,
      270750.,  272475.,  274200.,  251640.,  253380.,  255120.,  256860.,
      258600.,  260340.,  262080.,  263820.,  265560.,  267300.,  269040.,
      270780.,  272520.,  274260.,  276000.,  253230.,  254985.,  256740.,
      258495.,  260250.,  262005.,  263760.,  265515.,  267270.,  269025.,
      270780.,  272535.,  274290.,  276045.,  277800.,  254820.,  256590.,
      258360.,  260130.,  261900.,  263670.,  265440.,  267210.,  268980.,
      270750.,  272520.,  274290.,  276060.,  277830.,  279600.,  256410.,
      258195.,  259980.,  261765.,  263550.,  265335.,  267120.,  268905.,
      270690.,  272475.,  274260.,  276045.,  277830.,  279615.,  281400.,
      258000.,  259800.,  261600.,  263400.,  265200.,  267000.,  268800.,
      270600.,  272400.,  274200.,  276000.,  277800.,  279600.,  281400.,
      283200.,  259590.,  261405.,  263220.,  265035.,  266850.,  268665.,
      270480.,  272295.,  274110.,  275925.,  277740.,  279555.,  281370.,
      283185.,  285000.,  261180.,  263010.,  264840.,  266670.,  268500.,
      270330.,  272160.,  273990.,  275820.,  277650.,  279480.,  281310.,
      283140.,  284970.,  286800.,  262770.,  264615.,  266460.,  268305.,
      270150.,  271995.,  273840.,  275685.,  277530.,  279375.,  281220.,
      283065.,  284910.,  286755.,  288600.,  264360.,  266220.,  268080.,
      269940.,  271800.,  273660.,  275520.,  277380.,  279240.,  281100.,
      282960.,  284820.,  286680.,  288540.,  290400.,  265950.,  267825.,
      269700.,  271575.,  273450.,  275325.,  277200.,  279075.,  280950.,
      282825.,  284700.,  286575.,  288450.,  290325.,  292200.,  267540.,
      269430.,  271320.,  273210.,  275100.,  276990.,  278880.,  280770.,
      282660.,  284550.,  286440.,  288330.,  290220.,  292110.,  294000.,
      269130.,  271035.,  272940.,  274845.,  276750.,  278655.,  280560.,
      282465.,  284370.,  286275.,  288180.,  290085.,  291990.,  293895.,
      295800.,  270720.,  272640.,  274560.,  276480.,  278400.,  280320.,
      282240.,  284160.,  286080.,  288000.,  289920.,  291840.,  293760.,
      295680.,  297600.,  1819845., 1825140., 1830435., 1835730., 1841025.,
      1846320., 1851615., 1856910., 1862205., 1867500., 1872795., 1878090.,
      1883385., 1888680., 1893975., 1824810., 1830120., 1835430., 1840740.,
      1846050., 1851360., 1856670., 1861980., 1867290., 1872600., 1877910.,
      1883220., 1888530., 1893840., 1899150., 1829775., 1835100., 1840425.,
      1845750., 1851075., 1856400., 1861725., 1867050., 1872375., 1877700.,
      1883025., 1888350., 1893675., 1899000., 1904325., 1834740., 1840080.,
      1845420., 1850760., 1856100., 1861440., 1866780., 1872120., 1877460.,
      1882800., 1888140., 1893480., 1898820., 1904160., 1909500., 1839705.,
      1845060., 1850415., 1855770., 1861125., 1866480., 1871835., 1877190.,
      1882545., 1887900., 1893255., 1898610., 1903965., 1909320., 1914675.,
      1844670., 1850040., 1855410., 1860780., 1866150., 1871520., 1876890.,
      1882260., 1887630., 1893000., 1898370., 1903740., 1909110., 1914480.,
      1919850., 1849635., 1855020., 1860405., 1865790., 1871175., 1876560.,
      1881945., 1887330., 1892715., 1898100., 1903485., 1908870., 1914255.,
      1919640., 1925025., 1854600., 1860000., 1865400., 1870800., 1876200.,
      1881600., 1887000., 1892400., 1897800., 1903200., 1908600., 1914000.,
      1919400., 1924800., 1930200., 1859565., 1864980., 1870395., 1875810.,
      1881225., 1886640., 1892055., 1897470., 1902885., 1908300., 1913715.,
      1919130., 1924545., 1929960., 1935375., 1864530., 1869960., 1875390.,
      1880820., 1886250., 1891680., 1897110., 1902540., 1907970., 1913400.,
      1918830., 1924260., 1929690., 1935120., 1940550., 1869495., 1874940.,
      1880385., 1885830., 1891275., 1896720., 1902165., 1907610., 1913055.,
      1918500., 1923945., 1929390., 1934835., 1940280., 1945725., 1874460.,
      1879920., 1885380., 1890840., 1896300., 1901760., 1907220., 1912680.,
      1918140., 1923600., 1929060., 1934520., 1939980., 1945440., 1950900.,
      1879425., 1884900., 1890375., 1895850., 1901325., 1906800., 1912275.,
      1917750., 1923225., 1928700., 1934175., 1939650., 1945125., 1950600.,
      1956075., 1884390., 1889880., 1895370., 1900860., 1906350., 1911840.,
      1917330., 1922820., 1928310., 1933800., 1939290., 1944780., 1950270.,
      1955760., 1961250., 1889355., 1894860., 1900365., 1905870., 1911375.,
      1916880., 1922385., 1927890., 1933395., 1938900., 1944405., 1949910.,
      1955415., 1960920., 1966425., 1894320., 1899840., 1905360., 1910880.,
      1916400., 1921920., 1927440., 1932960., 1938480., 1944000., 1949520.,
      1955040., 1960560., 1966080., 1971600., 5012820., 5021715., 5030610.,
      5039505., 5048400., 5057295., 5066190., 5075085., 5083980., 5092875.,
      5101770., 5110665., 5119560., 5128455., 5137350., 5021160., 5030070.,
      5038980., 5047890., 5056800., 5065710., 5074620., 5083530., 5092440.,
      5101350., 5110260., 5119170., 5128080., 5136990., 5145900., 5029500.,
      5038425., 5047350., 5056275., 5065200., 5074125., 5083050., 5091975.,
      5100900., 5109825., 5118750., 5127675., 5136600., 5145525., 5154450.,
      5037840., 5046780., 5055720., 5064660., 5073600., 5082540., 5091480.,
      5100420., 5109360., 5118300., 5127240., 5136180., 5145120., 5154060.,
      5163000., 5046180., 5055135., 5064090., 5073045., 5082000., 5090955.,
      5099910., 5108865., 5117820., 5126775., 5135730., 5144685., 5153640.,
      5162595., 5171550., 5054520., 5063490., 5072460., 5081430., 5090400.,
      5099370., 5108340., 5117310., 5126280., 5135250., 5144220., 5153190.,
      5162160., 5171130., 5180100., 5062860., 5071845., 5080830., 5089815.,
      5098800., 5107785., 5116770., 5125755., 5134740., 5143725., 5152710.,
      5161695., 5170680., 5179665., 5188650., 5071200., 5080200., 5089200.,
      5098200., 5107200., 5116200., 5125200., 5134200., 5143200., 5152200.,
      5161200., 5170200., 5179200., 5188200., 5197200., 5079540., 5088555.,
      5097570., 5106585., 5115600., 5124615., 5133630., 5142645., 5151660.,
      5160675., 5169690., 5178705., 5187720., 5196735., 5205750., 5087880.,
      5096910., 5105940., 5114970., 5124000., 5133030., 5142060., 5151090.,
      5160120., 5169150., 5178180., 5187210., 5196240., 5205270., 5214300.,
      5096220., 5105265., 5114310., 5123355., 5132400., 5141445., 5150490.,
      5159535., 5168580., 5177625., 5186670., 5195715., 5204760., 5213805.,
      5222850., 5104560., 5113620., 5122680., 5131740., 5140800., 5149860.,
      5158920., 5167980., 5177040., 5186100., 5195160., 5204220., 5213280.,
      5222340., 5231400., 5112900., 5121975., 5131050., 5140125., 5149200.,
      5158275., 5167350., 5176425., 5185500., 5194575., 5203650., 5212725.,
      5221800., 5230875., 5239950., 5121240., 5130330., 5139420., 5148510.,
      5157600., 5166690., 5175780., 5184870., 5193960., 5203050., 5212140.,
      5221230., 5230320., 5239410., 5248500., 5129580., 5138685., 5147790.,
      5156895., 5166000., 5175105., 5184210., 5193315., 5202420., 5211525.,
      5220630., 5229735., 5238840., 5247945., 5257050., 5137920., 5147040.,
      5156160., 5165280., 5174400., 5183520., 5192640., 5201760., 5210880.,
      5220000., 5229120., 5238240., 5247360., 5256480., 5265600.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      263215.,  264910.,  266605.,  268300.,  269995.,  271690.,  273385.,
      275080.,  276775.,  278470.,  280165.,  281860.,  283555.,  285250.,
      286945.,  288640.,  264910.,  266620.,  268330.,  270040.,  271750.,
      273460.,  275170.,  276880.,  278590.,  280300.,  282010.,  283720.,
      285430.,  287140.,  288850.,  290560.,  266605.,  268330.,  270055.,
      271780.,  273505.,  275230.,  276955.,  278680.,  280405.,  282130.,
      283855.,  285580.,  287305.,  289030.,  290755.,  292480.,  268300.,
      270040.,  271780.,  273520.,  275260.,  277000.,  278740.,  280480.,
      282220.,  283960.,  285700.,  287440.,  289180.,  290920.,  292660.,
      294400.,  269995.,  271750.,  273505.,  275260.,  277015.,  278770.,
      280525.,  282280.,  284035.,  285790.,  287545.,  289300.,  291055.,
      292810.,  294565.,  296320.,  271690.,  273460.,  275230.,  277000.,
      278770.,  280540.,  282310.,  284080.,  285850.,  287620.,  289390.,
      291160.,  292930.,  294700.,  296470.,  298240.,  273385.,  275170.,
      276955.,  278740.,  280525.,  282310.,  284095.,  285880.,  287665.,
      289450.,  291235.,  293020.,  294805.,  296590.,  298375.,  300160.,
      275080.,  276880.,  278680.,  280480.,  282280.,  284080.,  285880.,
      287680.,  289480.,  291280.,  293080.,  294880.,  296680.,  298480.,
      300280.,  302080.,  276775.,  278590.,  280405.,  282220.,  284035.,
      285850.,  287665.,  289480.,  291295.,  293110.,  294925.,  296740.,
      298555.,  300370.,  302185.,  304000.,  278470.,  280300.,  282130.,
      283960.,  285790.,  287620.,  289450.,  291280.,  293110.,  294940.,
      296770.,  298600.,  300430.,  302260.,  304090.,  305920.,  280165.,
      282010.,  283855.,  285700.,  287545.,  289390.,  291235.,  293080.,
      294925.,  296770.,  298615.,  300460.,  302305.,  304150.,  305995.,
      307840.,  281860.,  283720.,  285580.,  287440.,  289300.,  291160.,
      293020.,  294880.,  296740.,  298600.,  300460.,  302320.,  304180.,
      306040.,  307900.,  309760.,  283555.,  285430.,  287305.,  289180.,
      291055.,  292930.,  294805.,  296680.,  298555.,  300430.,  302305.,
      304180.,  306055.,  307930.,  309805.,  311680.,  285250.,  287140.,
      289030.,  290920.,  292810.,  294700.,  296590.,  298480.,  300370.,
      302260.,  304150.,  306040.,  307930.,  309820.,  311710.,  313600.,
      286945.,  288850.,  290755.,  292660.,  294565.,  296470.,  298375.,
      300280.,  302185.,  304090.,  305995.,  307900.,  309805.,  311710.,
      313615.,  315520.,  288640.,  290560.,  292480.,  294400.,  296320.,
      298240.,  300160.,  302080.,  304000.,  305920.,  307840.,  309760.,
      311680.,  313600.,  315520.,  317440.,  1940815., 1946110., 1951405.,
      1956700., 1961995., 1967290., 1972585., 1977880., 1983175., 1988470.,
      1993765., 1999060., 2004355., 2009650., 2014945., 2020240., 1946110.,
      1951420., 1956730., 1962040., 1967350., 1972660., 1977970., 1983280.,
      1988590., 1993900., 1999210., 2004520., 2009830., 2015140., 2020450.,
      2025760., 1951405., 1956730., 1962055., 1967380., 1972705., 1978030.,
      1983355., 1988680., 1994005., 1999330., 2004655., 2009980., 2015305.,
      2020630., 2025955., 2031280., 1956700., 1962040., 1967380., 1972720.,
      1978060., 1983400., 1988740., 1994080., 1999420., 2004760., 2010100.,
      2015440., 2020780., 2026120., 2031460., 2036800., 1961995., 1967350.,
      1972705., 1978060., 1983415., 1988770., 1994125., 1999480., 2004835.,
      2010190., 2015545., 2020900., 2026255., 2031610., 2036965., 2042320.,
      1967290., 1972660., 1978030., 1983400., 1988770., 1994140., 1999510.,
      2004880., 2010250., 2015620., 2020990., 2026360., 2031730., 2037100.,
      2042470., 2047840., 1972585., 1977970., 1983355., 1988740., 1994125.,
      1999510., 2004895., 2010280., 2015665., 2021050., 2026435., 2031820.,
      2037205., 2042590., 2047975., 2053360., 1977880., 1983280., 1988680.,
      1994080., 1999480., 2004880., 2010280., 2015680., 2021080., 2026480.,
      2031880., 2037280., 2042680., 2048080., 2053480., 2058880., 1983175.,
      1988590., 1994005., 1999420., 2004835., 2010250., 2015665., 2021080.,
      2026495., 2031910., 2037325., 2042740., 2048155., 2053570., 2058985.,
      2064400., 1988470., 1993900., 1999330., 2004760., 2010190., 2015620.,
      2021050., 2026480., 2031910., 2037340., 2042770., 2048200., 2053630.,
      2059060., 2064490., 2069920., 1993765., 1999210., 2004655., 2010100.,
      2015545., 2020990., 2026435., 2031880., 2037325., 2042770., 2048215.,
      2053660., 2059105., 2064550., 2069995., 2075440., 1999060., 2004520.,
      2009980., 2015440., 2020900., 2026360., 2031820., 2037280., 2042740.,
      2048200., 2053660., 2059120., 2064580., 2070040., 2075500., 2080960.,
      2004355., 2009830., 2015305., 2020780., 2026255., 2031730., 2037205.,
      2042680., 2048155., 2053630., 2059105., 2064580., 2070055., 2075530.,
      2081005., 2086480., 2009650., 2015140., 2020630., 2026120., 2031610.,
      2037100., 2042590., 2048080., 2053570., 2059060., 2064550., 2070040.,
      2075530., 2081020., 2086510., 2092000., 2014945., 2020450., 2025955.,
      2031460., 2036965., 2042470., 2047975., 2053480., 2058985., 2064490.,
      2069995., 2075500., 2081005., 2086510., 2092015., 2097520., 2020240.,
      2025760., 2031280., 2036800., 2042320., 2047840., 2053360., 2058880.,
      2064400., 2069920., 2075440., 2080960., 2086480., 2092000., 2097520.,
      2103040., 5346415., 5355310., 5364205., 5373100., 5381995., 5390890.,
      5399785., 5408680., 5417575., 5426470., 5435365., 5444260., 5453155.,
      5462050., 5470945., 5479840., 5355310., 5364220., 5373130., 5382040.,
      5390950., 5399860., 5408770., 5417680., 5426590., 5435500., 5444410.,
      5453320., 5462230., 5471140., 5480050., 5488960., 5364205., 5373130.,
      5382055., 5390980., 5399905., 5408830., 5417755., 5426680., 5435605.,
      5444530., 5453455., 5462380., 5471305., 5480230., 5489155., 5498080.,
      5373100., 5382040., 5390980., 5399920., 5408860., 5417800., 5426740.,
      5435680., 5444620., 5453560., 5462500., 5471440., 5480380., 5489320.,
      5498260., 5507200., 5381995., 5390950., 5399905., 5408860., 5417815.,
      5426770., 5435725., 5444680., 5453635., 5462590., 5471545., 5480500.,
      5489455., 5498410., 5507365., 5516320., 5390890., 5399860., 5408830.,
      5417800., 5426770., 5435740., 5444710., 5453680., 5462650., 5471620.,
      5480590., 5489560., 5498530., 5507500., 5516470., 5525440., 5399785.,
      5408770., 5417755., 5426740., 5435725., 5444710., 5453695., 5462680.,
      5471665., 5480650., 5489635., 5498620., 5507605., 5516590., 5525575.,
      5534560., 5408680., 5417680., 5426680., 5435680., 5444680., 5453680.,
      5462680., 5471680., 5480680., 5489680., 5498680., 5507680., 5516680.,
      5525680., 5534680., 5543680., 5417575., 5426590., 5435605., 5444620.,
      5453635., 5462650., 5471665., 5480680., 5489695., 5498710., 5507725.,
      5516740., 5525755., 5534770., 5543785., 5552800., 5426470., 5435500.,
      5444530., 5453560., 5462590., 5471620., 5480650., 5489680., 5498710.,
      5507740., 5516770., 5525800., 5534830., 5543860., 5552890., 5561920.,
      5435365., 5444410., 5453455., 5462500., 5471545., 5480590., 5489635.,
      5498680., 5507725., 5516770., 5525815., 5534860., 5543905., 5552950.,
      5561995., 5571040., 5444260., 5453320., 5462380., 5471440., 5480500.,
      5489560., 5498620., 5507680., 5516740., 5525800., 5534860., 5543920.,
      5552980., 5562040., 5571100., 5580160., 5453155., 5462230., 5471305.,
      5480380., 5489455., 5498530., 5507605., 5516680., 5525755., 5534830.,
      5543905., 5552980., 5562055., 5571130., 5580205., 5589280., 5462050.,
      5471140., 5480230., 5489320., 5498410., 5507500., 5516590., 5525680.,
      5534770., 5543860., 5552950., 5562040., 5571130., 5580220., 5589310.,
      5598400., 5470945., 5480050., 5489155., 5498260., 5507365., 5516470.,
      5525575., 5534680., 5543785., 5552890., 5561995., 5571100., 5580205.,
      5589310., 5598415., 5607520., 5479840., 5488960., 5498080., 5507200.,
      5516320., 5525440., 5534560., 5543680., 5552800., 5561920., 5571040.,
      5580160., 5589280., 5598400., 5607520., 5616640.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      281376.,  283312.,  285248.,  287184.,  289120.,  291056.,  292992.,
      294928.,  296864.,  298800.,  300736.,  302672.,  304608.,  306544.,
      283072.,  285024.,  286976.,  288928.,  290880.,  292832.,  294784.,
      296736.,  298688.,  300640.,  302592.,  304544.,  306496.,  308448.,
      284768.,  286736.,  288704.,  290672.,  292640.,  294608.,  296576.,
      298544.,  300512.,  302480.,  304448.,  306416.,  308384.,  310352.,
      286464.,  288448.,  290432.,  292416.,  294400.,  296384.,  298368.,
      300352.,  302336.,  304320.,  306304.,  308288.,  310272.,  312256.,
      288160.,  290160.,  292160.,  294160.,  296160.,  298160.,  300160.,
      302160.,  304160.,  306160.,  308160.,  310160.,  312160.,  314160.,
      289856.,  291872.,  293888.,  295904.,  297920.,  299936.,  301952.,
      303968.,  305984.,  308000.,  310016.,  312032.,  314048.,  316064.,
      291552.,  293584.,  295616.,  297648.,  299680.,  301712.,  303744.,
      305776.,  307808.,  309840.,  311872.,  313904.,  315936.,  317968.,
      293248.,  295296.,  297344.,  299392.,  301440.,  303488.,  305536.,
      307584.,  309632.,  311680.,  313728.,  315776.,  317824.,  319872.,
      294944.,  297008.,  299072.,  301136.,  303200.,  305264.,  307328.,
      309392.,  311456.,  313520.,  315584.,  317648.,  319712.,  321776.,
      296640.,  298720.,  300800.,  302880.,  304960.,  307040.,  309120.,
      311200.,  313280.,  315360.,  317440.,  319520.,  321600.,  323680.,
      298336.,  300432.,  302528.,  304624.,  306720.,  308816.,  310912.,
      313008.,  315104.,  317200.,  319296.,  321392.,  323488.,  325584.,
      300032.,  302144.,  304256.,  306368.,  308480.,  310592.,  312704.,
      314816.,  316928.,  319040.,  321152.,  323264.,  325376.,  327488.,
      301728.,  303856.,  305984.,  308112.,  310240.,  312368.,  314496.,
      316624.,  318752.,  320880.,  323008.,  325136.,  327264.,  329392.,
      303424.,  305568.,  307712.,  309856.,  312000.,  314144.,  316288.,
      318432.,  320576.,  322720.,  324864.,  327008.,  329152.,  331296.,
      305120.,  307280.,  309440.,  311600.,  313760.,  315920.,  318080.,
      320240.,  322400.,  324560.,  326720.,  328880.,  331040.,  333200.,
      306816.,  308992.,  311168.,  313344.,  315520.,  317696.,  319872.,
      322048.,  324224.,  326400.,  328576.,  330752.,  332928.,  335104.,
      2066720., 2072752., 2078784., 2084816., 2090848., 2096880., 2102912.,
      2108944., 2114976., 2121008., 2127040., 2133072., 2139104., 2145136.,
      2072000., 2078048., 2084096., 2090144., 2096192., 2102240., 2108288.,
      2114336., 2120384., 2126432., 2132480., 2138528., 2144576., 2150624.,
      2077280., 2083344., 2089408., 2095472., 2101536., 2107600., 2113664.,
      2119728., 2125792., 2131856., 2137920., 2143984., 2150048., 2156112.,
      2082560., 2088640., 2094720., 2100800., 2106880., 2112960., 2119040.,
      2125120., 2131200., 2137280., 2143360., 2149440., 2155520., 2161600.,
      2087840., 2093936., 2100032., 2106128., 2112224., 2118320., 2124416.,
      2130512., 2136608., 2142704., 2148800., 2154896., 2160992., 2167088.,
      2093120., 2099232., 2105344., 2111456., 2117568., 2123680., 2129792.,
      2135904., 2142016., 2148128., 2154240., 2160352., 2166464., 2172576.,
      2098400., 2104528., 2110656., 2116784., 2122912., 2129040., 2135168.,
      2141296., 2147424., 2153552., 2159680., 2165808., 2171936., 2178064.,
      2103680., 2109824., 2115968., 2122112., 2128256., 2134400., 2140544.,
      2146688., 2152832., 2158976., 2165120., 2171264., 2177408., 2183552.,
      2108960., 2115120., 2121280., 2127440., 2133600., 2139760., 2145920.,
      2152080., 2158240., 2164400., 2170560., 2176720., 2182880., 2189040.,
      2114240., 2120416., 2126592., 2132768., 2138944., 2145120., 2151296.,
      2157472., 2163648., 2169824., 2176000., 2182176., 2188352., 2194528.,
      2119520., 2125712., 2131904., 2138096., 2144288., 2150480., 2156672.,
      2162864., 2169056., 2175248., 2181440., 2187632., 2193824., 2200016.,
      2124800., 2131008., 2137216., 2143424., 2149632., 2155840., 2162048.,
      2168256., 2174464., 2180672., 2186880., 2193088., 2199296., 2205504.,
      2130080., 2136304., 2142528., 2148752., 2154976., 2161200., 2167424.,
      2173648., 2179872., 2186096., 2192320., 2198544., 2204768., 2210992.,
      2135360., 2141600., 2147840., 2154080., 2160320., 2166560., 2172800.,
      2179040., 2185280., 2191520., 2197760., 2204000., 2210240., 2216480.,
      2140640., 2146896., 2153152., 2159408., 2165664., 2171920., 2178176.,
      2184432., 2190688., 2196944., 2203200., 2209456., 2215712., 2221968.,
      2145920., 2152192., 2158464., 2164736., 2171008., 2177280., 2183552.,
      2189824., 2196096., 2202368., 2208640., 2214912., 2221184., 2227456.,
      5687072., 5697200., 5707328., 5717456., 5727584., 5737712., 5747840.,
      5757968., 5768096., 5778224., 5788352., 5798480., 5808608., 5818736.,
      5695936., 5706080., 5716224., 5726368., 5736512., 5746656., 5756800.,
      5766944., 5777088., 5787232., 5797376., 5807520., 5817664., 5827808.,
      5704800., 5714960., 5725120., 5735280., 5745440., 5755600., 5765760.,
      5775920., 5786080., 5796240., 5806400., 5816560., 5826720., 5836880.,
      5713664., 5723840., 5734016., 5744192., 5754368., 5764544., 5774720.,
      5784896., 5795072., 5805248., 5815424., 5825600., 5835776., 5845952.,
      5722528., 5732720., 5742912., 5753104., 5763296., 5773488., 5783680.,
      5793872., 5804064., 5814256., 5824448., 5834640., 5844832., 5855024.,
      5731392., 5741600., 5751808., 5762016., 5772224., 5782432., 5792640.,
      5802848., 5813056., 5823264., 5833472., 5843680., 5853888., 5864096.,
      5740256., 5750480., 5760704., 5770928., 5781152., 5791376., 5801600.,
      5811824., 5822048., 5832272., 5842496., 5852720., 5862944., 5873168.,
      5749120., 5759360., 5769600., 5779840., 5790080., 5800320., 5810560.,
      5820800., 5831040., 5841280., 5851520., 5861760., 5872000., 5882240.,
      5757984., 5768240., 5778496., 5788752., 5799008., 5809264., 5819520.,
      5829776., 5840032., 5850288., 5860544., 5870800., 5881056., 5891312.,
      5766848., 5777120., 5787392., 5797664., 5807936., 5818208., 5828480.,
      5838752., 5849024., 5859296., 5869568., 5879840., 5890112., 5900384.,
      5775712., 5786000., 5796288., 5806576., 5816864., 5827152., 5837440.,
      5847728., 5858016., 5868304., 5878592., 5888880., 5899168., 5909456.,
      5784576., 5794880., 5805184., 5815488., 5825792., 5836096., 5846400.,
      5856704., 5867008., 5877312., 5887616., 5897920., 5908224., 5918528.,
      5793440., 5803760., 5814080., 5824400., 5834720., 5845040., 5855360.,
      5865680., 5876000., 5886320., 5896640., 5906960., 5917280., 5927600.,
      5802304., 5812640., 5822976., 5833312., 5843648., 5853984., 5864320.,
      5874656., 5884992., 5895328., 5905664., 5916000., 5926336., 5936672.,
      5811168., 5821520., 5831872., 5842224., 5852576., 5862928., 5873280.,
      5883632., 5893984., 5904336., 5914688., 5925040., 5935392., 5945744.,
      5820032., 5830400., 5840768., 5851136., 5861504., 5871872., 5882240.,
      5892608., 5902976., 5913344., 5923712., 5934080., 5944448., 5954816.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      301336.,  303272.,  305208.,  307144.,  309080.,  311016.,  312952.,
      314888.,  316824.,  318760.,  320696.,  322632.,  324568.,  326504.,
      328440.,  303152.,  305104.,  307056.,  309008.,  310960.,  312912.,
      314864.,  316816.,  318768.,  320720.,  322672.,  324624.,  326576.,
      328528.,  330480.,  304968.,  306936.,  308904.,  310872.,  312840.,
      314808.,  316776.,  318744.,  320712.,  322680.,  324648.,  326616.,
      328584.,  330552.,  332520.,  306784.,  308768.,  310752.,  312736.,
      314720.,  316704.,  318688.,  320672.,  322656.,  324640.,  326624.,
      328608.,  330592.,  332576.,  334560.,  308600.,  310600.,  312600.,
      314600.,  316600.,  318600.,  320600.,  322600.,  324600.,  326600.,
      328600.,  330600.,  332600.,  334600.,  336600.,  310416.,  312432.,
      314448.,  316464.,  318480.,  320496.,  322512.,  324528.,  326544.,
      328560.,  330576.,  332592.,  334608.,  336624.,  338640.,  312232.,
      314264.,  316296.,  318328.,  320360.,  322392.,  324424.,  326456.,
      328488.,  330520.,  332552.,  334584.,  336616.,  338648.,  340680.,
      314048.,  316096.,  318144.,  320192.,  322240.,  324288.,  326336.,
      328384.,  330432.,  332480.,  334528.,  336576.,  338624.,  340672.,
      342720.,  315864.,  317928.,  319992.,  322056.,  324120.,  326184.,
      328248.,  330312.,  332376.,  334440.,  336504.,  338568.,  340632.,
      342696.,  344760.,  317680.,  319760.,  321840.,  323920.,  326000.,
      328080.,  330160.,  332240.,  334320.,  336400.,  338480.,  340560.,
      342640.,  344720.,  346800.,  319496.,  321592.,  323688.,  325784.,
      327880.,  329976.,  332072.,  334168.,  336264.,  338360.,  340456.,
      342552.,  344648.,  346744.,  348840.,  321312.,  323424.,  325536.,
      327648.,  329760.,  331872.,  333984.,  336096.,  338208.,  340320.,
      342432.,  344544.,  346656.,  348768.,  350880.,  323128.,  325256.,
      327384.,  329512.,  331640.,  333768.,  335896.,  338024.,  340152.,
      342280.,  344408.,  346536.,  348664.,  350792.,  352920.,  324944.,
      327088.,  329232.,  331376.,  333520.,  335664.,  337808.,  339952.,
      342096.,  344240.,  346384.,  348528.,  350672.,  352816.,  354960.,
      326760.,  328920.,  331080.,  333240.,  335400.,  337560.,  339720.,
      341880.,  344040.,  346200.,  348360.,  350520.,  352680.,  354840.,
      357000.,  328576.,  330752.,  332928.,  335104.,  337280.,  339456.,
      341632.,  343808.,  345984.,  348160.,  350336.,  352512.,  354688.,
      356864.,  359040.,  2213912., 2219944., 2225976., 2232008., 2238040.,
      2244072., 2250104., 2256136., 2262168., 2268200., 2274232., 2280264.,
      2286296., 2292328., 2298360., 2219568., 2225616., 2231664., 2237712.,
      2243760., 2249808., 2255856., 2261904., 2267952., 2274000., 2280048.,
      2286096., 2292144., 2298192., 2304240., 2225224., 2231288., 2237352.,
      2243416., 2249480., 2255544., 2261608., 2267672., 2273736., 2279800.,
      2285864., 2291928., 2297992., 2304056., 2310120., 2230880., 2236960.,
      2243040., 2249120., 2255200., 2261280., 2267360., 2273440., 2279520.,
      2285600., 2291680., 2297760., 2303840., 2309920., 2316000., 2236536.,
      2242632., 2248728., 2254824., 2260920., 2267016., 2273112., 2279208.,
      2285304., 2291400., 2297496., 2303592., 2309688., 2315784., 2321880.,
      2242192., 2248304., 2254416., 2260528., 2266640., 2272752., 2278864.,
      2284976., 2291088., 2297200., 2303312., 2309424., 2315536., 2321648.,
      2327760., 2247848., 2253976., 2260104., 2266232., 2272360., 2278488.,
      2284616., 2290744., 2296872., 2303000., 2309128., 2315256., 2321384.,
      2327512., 2333640., 2253504., 2259648., 2265792., 2271936., 2278080.,
      2284224., 2290368., 2296512., 2302656., 2308800., 2314944., 2321088.,
      2327232., 2333376., 2339520., 2259160., 2265320., 2271480., 2277640.,
      2283800., 2289960., 2296120., 2302280., 2308440., 2314600., 2320760.,
      2326920., 2333080., 2339240., 2345400., 2264816., 2270992., 2277168.,
      2283344., 2289520., 2295696., 2301872., 2308048., 2314224., 2320400.,
      2326576., 2332752., 2338928., 2345104., 2351280., 2270472., 2276664.,
      2282856., 2289048., 2295240., 2301432., 2307624., 2313816., 2320008.,
      2326200., 2332392., 2338584., 2344776., 2350968., 2357160., 2276128.,
      2282336., 2288544., 2294752., 2300960., 2307168., 2313376., 2319584.,
      2325792., 2332000., 2338208., 2344416., 2350624., 2356832., 2363040.,
      2281784., 2288008., 2294232., 2300456., 2306680., 2312904., 2319128.,
      2325352., 2331576., 2337800., 2344024., 2350248., 2356472., 2362696.,
      2368920., 2287440., 2293680., 2299920., 2306160., 2312400., 2318640.,
      2324880., 2331120., 2337360., 2343600., 2349840., 2356080., 2362320.,
      2368560., 2374800., 2293096., 2299352., 2305608., 2311864., 2318120.,
      2324376., 2330632., 2336888., 2343144., 2349400., 2355656., 2361912.,
      2368168., 2374424., 2380680., 2298752., 2305024., 2311296., 2317568.,
      2323840., 2330112., 2336384., 2342656., 2348928., 2355200., 2361472.,
      2367744., 2374016., 2380288., 2386560., 6092568., 6102696., 6112824.,
      6122952., 6133080., 6143208., 6153336., 6163464., 6173592., 6183720.,
      6193848., 6203976., 6214104., 6224232., 6234360., 6102064., 6112208.,
      6122352., 6132496., 6142640., 6152784., 6162928., 6173072., 6183216.,
      6193360., 6203504., 6213648., 6223792., 6233936., 6244080., 6111560.,
      6121720., 6131880., 6142040., 6152200., 6162360., 6172520., 6182680.,
      6192840., 6203000., 6213160., 6223320., 6233480., 6243640., 6253800.,
      6121056., 6131232., 6141408., 6151584., 6161760., 6171936., 6182112.,
      6192288., 6202464., 6212640., 6222816., 6232992., 6243168., 6253344.,
      6263520., 6130552., 6140744., 6150936., 6161128., 6171320., 6181512.,
      6191704., 6201896., 6212088., 6222280., 6232472., 6242664., 6252856.,
      6263048., 6273240., 6140048., 6150256., 6160464., 6170672., 6180880.,
      6191088., 6201296., 6211504., 6221712., 6231920., 6242128., 6252336.,
      6262544., 6272752., 6282960., 6149544., 6159768., 6169992., 6180216.,
      6190440., 6200664., 6210888., 6221112., 6231336., 6241560., 6251784.,
      6262008., 6272232., 6282456., 6292680., 6159040., 6169280., 6179520.,
      6189760., 6200000., 6210240., 6220480., 6230720., 6240960., 6251200.,
      6261440., 6271680., 6281920., 6292160., 6302400., 6168536., 6178792.,
      6189048., 6199304., 6209560., 6219816., 6230072., 6240328., 6250584.,
      6260840., 6271096., 6281352., 6291608., 6301864., 6312120., 6178032.,
      6188304., 6198576., 6208848., 6219120., 6229392., 6239664., 6249936.,
      6260208., 6270480., 6280752., 6291024., 6301296., 6311568., 6321840.,
      6187528., 6197816., 6208104., 6218392., 6228680., 6238968., 6249256.,
      6259544., 6269832., 6280120., 6290408., 6300696., 6310984., 6321272.,
      6331560., 6197024., 6207328., 6217632., 6227936., 6238240., 6248544.,
      6258848., 6269152., 6279456., 6289760., 6300064., 6310368., 6320672.,
      6330976., 6341280., 6206520., 6216840., 6227160., 6237480., 6247800.,
      6258120., 6268440., 6278760., 6289080., 6299400., 6309720., 6320040.,
      6330360., 6340680., 6351000., 6216016., 6226352., 6236688., 6247024.,
      6257360., 6267696., 6278032., 6288368., 6298704., 6309040., 6319376.,
      6329712., 6340048., 6350384., 6360720., 6225512., 6235864., 6246216.,
      6256568., 6266920., 6277272., 6287624., 6297976., 6308328., 6318680.,
      6329032., 6339384., 6349736., 6360088., 6370440., 6235008., 6245376.,
      6255744., 6266112., 6276480., 6286848., 6297216., 6307584., 6317952.,
      6328320., 6338688., 6349056., 6359424., 6369792., 6380160.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueFalse, M16xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      321296.,  323232.,  325168.,  327104.,  329040.,  330976.,  332912.,
      334848.,  336784.,  338720.,  340656.,  342592.,  344528.,  346464.,
      348400.,  350336.,  323232.,  325184.,  327136.,  329088.,  331040.,
      332992.,  334944.,  336896.,  338848.,  340800.,  342752.,  344704.,
      346656.,  348608.,  350560.,  352512.,  325168.,  327136.,  329104.,
      331072.,  333040.,  335008.,  336976.,  338944.,  340912.,  342880.,
      344848.,  346816.,  348784.,  350752.,  352720.,  354688.,  327104.,
      329088.,  331072.,  333056.,  335040.,  337024.,  339008.,  340992.,
      342976.,  344960.,  346944.,  348928.,  350912.,  352896.,  354880.,
      356864.,  329040.,  331040.,  333040.,  335040.,  337040.,  339040.,
      341040.,  343040.,  345040.,  347040.,  349040.,  351040.,  353040.,
      355040.,  357040.,  359040.,  330976.,  332992.,  335008.,  337024.,
      339040.,  341056.,  343072.,  345088.,  347104.,  349120.,  351136.,
      353152.,  355168.,  357184.,  359200.,  361216.,  332912.,  334944.,
      336976.,  339008.,  341040.,  343072.,  345104.,  347136.,  349168.,
      351200.,  353232.,  355264.,  357296.,  359328.,  361360.,  363392.,
      334848.,  336896.,  338944.,  340992.,  343040.,  345088.,  347136.,
      349184.,  351232.,  353280.,  355328.,  357376.,  359424.,  361472.,
      363520.,  365568.,  336784.,  338848.,  340912.,  342976.,  345040.,
      347104.,  349168.,  351232.,  353296.,  355360.,  357424.,  359488.,
      361552.,  363616.,  365680.,  367744.,  338720.,  340800.,  342880.,
      344960.,  347040.,  349120.,  351200.,  353280.,  355360.,  357440.,
      359520.,  361600.,  363680.,  365760.,  367840.,  369920.,  340656.,
      342752.,  344848.,  346944.,  349040.,  351136.,  353232.,  355328.,
      357424.,  359520.,  361616.,  363712.,  365808.,  367904.,  370000.,
      372096.,  342592.,  344704.,  346816.,  348928.,  351040.,  353152.,
      355264.,  357376.,  359488.,  361600.,  363712.,  365824.,  367936.,
      370048.,  372160.,  374272.,  344528.,  346656.,  348784.,  350912.,
      353040.,  355168.,  357296.,  359424.,  361552.,  363680.,  365808.,
      367936.,  370064.,  372192.,  374320.,  376448.,  346464.,  348608.,
      350752.,  352896.,  355040.,  357184.,  359328.,  361472.,  363616.,
      365760.,  367904.,  370048.,  372192.,  374336.,  376480.,  378624.,
      348400.,  350560.,  352720.,  354880.,  357040.,  359200.,  361360.,
      363520.,  365680.,  367840.,  370000.,  372160.,  374320.,  376480.,
      378640.,  380800.,  350336.,  352512.,  354688.,  356864.,  359040.,
      361216.,  363392.,  365568.,  367744.,  369920.,  372096.,  374272.,
      376448.,  378624.,  380800.,  382976.,  2361104., 2367136., 2373168.,
      2379200., 2385232., 2391264., 2397296., 2403328., 2409360., 2415392.,
      2421424., 2427456., 2433488., 2439520., 2445552., 2451584., 2367136.,
      2373184., 2379232., 2385280., 2391328., 2397376., 2403424., 2409472.,
      2415520., 2421568., 2427616., 2433664., 2439712., 2445760., 2451808.,
      2457856., 2373168., 2379232., 2385296., 2391360., 2397424., 2403488.,
      2409552., 2415616., 2421680., 2427744., 2433808., 2439872., 2445936.,
      2452000., 2458064., 2464128., 2379200., 2385280., 2391360., 2397440.,
      2403520., 2409600., 2415680., 2421760., 2427840., 2433920., 2440000.,
      2446080., 2452160., 2458240., 2464320., 2470400., 2385232., 2391328.,
      2397424., 2403520., 2409616., 2415712., 2421808., 2427904., 2434000.,
      2440096., 2446192., 2452288., 2458384., 2464480., 2470576., 2476672.,
      2391264., 2397376., 2403488., 2409600., 2415712., 2421824., 2427936.,
      2434048., 2440160., 2446272., 2452384., 2458496., 2464608., 2470720.,
      2476832., 2482944., 2397296., 2403424., 2409552., 2415680., 2421808.,
      2427936., 2434064., 2440192., 2446320., 2452448., 2458576., 2464704.,
      2470832., 2476960., 2483088., 2489216., 2403328., 2409472., 2415616.,
      2421760., 2427904., 2434048., 2440192., 2446336., 2452480., 2458624.,
      2464768., 2470912., 2477056., 2483200., 2489344., 2495488., 2409360.,
      2415520., 2421680., 2427840., 2434000., 2440160., 2446320., 2452480.,
      2458640., 2464800., 2470960., 2477120., 2483280., 2489440., 2495600.,
      2501760., 2415392., 2421568., 2427744., 2433920., 2440096., 2446272.,
      2452448., 2458624., 2464800., 2470976., 2477152., 2483328., 2489504.,
      2495680., 2501856., 2508032., 2421424., 2427616., 2433808., 2440000.,
      2446192., 2452384., 2458576., 2464768., 2470960., 2477152., 2483344.,
      2489536., 2495728., 2501920., 2508112., 2514304., 2427456., 2433664.,
      2439872., 2446080., 2452288., 2458496., 2464704., 2470912., 2477120.,
      2483328., 2489536., 2495744., 2501952., 2508160., 2514368., 2520576.,
      2433488., 2439712., 2445936., 2452160., 2458384., 2464608., 2470832.,
      2477056., 2483280., 2489504., 2495728., 2501952., 2508176., 2514400.,
      2520624., 2526848., 2439520., 2445760., 2452000., 2458240., 2464480.,
      2470720., 2476960., 2483200., 2489440., 2495680., 2501920., 2508160.,
      2514400., 2520640., 2526880., 2533120., 2445552., 2451808., 2458064.,
      2464320., 2470576., 2476832., 2483088., 2489344., 2495600., 2501856.,
      2508112., 2514368., 2520624., 2526880., 2533136., 2539392., 2451584.,
      2457856., 2464128., 2470400., 2476672., 2482944., 2489216., 2495488.,
      2501760., 2508032., 2514304., 2520576., 2526848., 2533120., 2539392.,
      2545664., 6498064., 6508192., 6518320., 6528448., 6538576., 6548704.,
      6558832., 6568960., 6579088., 6589216., 6599344., 6609472., 6619600.,
      6629728., 6639856., 6649984., 6508192., 6518336., 6528480., 6538624.,
      6548768., 6558912., 6569056., 6579200., 6589344., 6599488., 6609632.,
      6619776., 6629920., 6640064., 6650208., 6660352., 6518320., 6528480.,
      6538640., 6548800., 6558960., 6569120., 6579280., 6589440., 6599600.,
      6609760., 6619920., 6630080., 6640240., 6650400., 6660560., 6670720.,
      6528448., 6538624., 6548800., 6558976., 6569152., 6579328., 6589504.,
      6599680., 6609856., 6620032., 6630208., 6640384., 6650560., 6660736.,
      6670912., 6681088., 6538576., 6548768., 6558960., 6569152., 6579344.,
      6589536., 6599728., 6609920., 6620112., 6630304., 6640496., 6650688.,
      6660880., 6671072., 6681264., 6691456., 6548704., 6558912., 6569120.,
      6579328., 6589536., 6599744., 6609952., 6620160., 6630368., 6640576.,
      6650784., 6660992., 6671200., 6681408., 6691616., 6701824., 6558832.,
      6569056., 6579280., 6589504., 6599728., 6609952., 6620176., 6630400.,
      6640624., 6650848., 6661072., 6671296., 6681520., 6691744., 6701968.,
      6712192., 6568960., 6579200., 6589440., 6599680., 6609920., 6620160.,
      6630400., 6640640., 6650880., 6661120., 6671360., 6681600., 6691840.,
      6702080., 6712320., 6722560., 6579088., 6589344., 6599600., 6609856.,
      6620112., 6630368., 6640624., 6650880., 6661136., 6671392., 6681648.,
      6691904., 6702160., 6712416., 6722672., 6732928., 6589216., 6599488.,
      6609760., 6620032., 6630304., 6640576., 6650848., 6661120., 6671392.,
      6681664., 6691936., 6702208., 6712480., 6722752., 6733024., 6743296.,
      6599344., 6609632., 6619920., 6630208., 6640496., 6650784., 6661072.,
      6671360., 6681648., 6691936., 6702224., 6712512., 6722800., 6733088.,
      6743376., 6753664., 6609472., 6619776., 6630080., 6640384., 6650688.,
      6660992., 6671296., 6681600., 6691904., 6702208., 6712512., 6722816.,
      6733120., 6743424., 6753728., 6764032., 6619600., 6629920., 6640240.,
      6650560., 6660880., 6671200., 6681520., 6691840., 6702160., 6712480.,
      6722800., 6733120., 6743440., 6753760., 6764080., 6774400., 6629728.,
      6640064., 6650400., 6660736., 6671072., 6681408., 6691744., 6702080.,
      6712416., 6722752., 6733088., 6743424., 6753760., 6764096., 6774432.,
      6784768., 6639856., 6650208., 6660560., 6670912., 6681264., 6691616.,
      6701968., 6712320., 6722672., 6733024., 6743376., 6753728., 6764080.,
      6774432., 6784784., 6795136., 6649984., 6660352., 6670720., 6681088.,
      6691456., 6701824., 6712192., 6722560., 6732928., 6743296., 6753664.,
      6764032., 6774400., 6784768., 6795136., 6805504.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}